diff --git a/modules/demux/adaptive/SegmentTracker.cpp b/modules/demux/adaptive/SegmentTracker.cpp
index be7554aee15380e24aabc735629f168f5a16fae7..8b2ab7c79e50ff594b8a91eef7a56cbf040b4545 100644
--- a/modules/demux/adaptive/SegmentTracker.cpp
+++ b/modules/demux/adaptive/SegmentTracker.cpp
@@ -117,6 +117,11 @@ StreamFormat SegmentTracker::getCurrentFormat() const
     return StreamFormat();
 }
 
+const Role & SegmentTracker::getStreamRole() const
+{
+    return adaptationSet->getRole();
+}
+
 bool SegmentTracker::segmentsListReady() const
 {
     BaseRepresentation *rep = curRepresentation;
diff --git a/modules/demux/adaptive/SegmentTracker.hpp b/modules/demux/adaptive/SegmentTracker.hpp
index 03dafa2e5348e70d58d6f23fe9836988bee143c9..925b265e28725818428dc5e8fc6bce709f7966c8 100644
--- a/modules/demux/adaptive/SegmentTracker.hpp
+++ b/modules/demux/adaptive/SegmentTracker.hpp
@@ -21,6 +21,7 @@
 #define SEGMENTTRACKER_HPP
 
 #include "StreamFormat.hpp"
+#include "playlist/Role.hpp"
 
 #include <vlc_common.h>
 #include <list>
@@ -118,6 +119,7 @@ namespace adaptive
             ~SegmentTracker();
 
             StreamFormat getCurrentFormat() const;
+            const Role & getStreamRole() const;
             bool segmentsListReady() const;
             void reset();
             SegmentChunk* getNextChunk(bool, AbstractConnectionManager *);
diff --git a/modules/demux/adaptive/Streams.cpp b/modules/demux/adaptive/Streams.cpp
index dda8c101f6bc81fe4f4d6ff6dae9711505a3a130..bcc1f6aa96fb5437df7e0a52fbef4ab8211f749e 100644
--- a/modules/demux/adaptive/Streams.cpp
+++ b/modules/demux/adaptive/Streams.cpp
@@ -79,6 +79,11 @@ bool AbstractStream::init(const StreamFormat &format_, SegmentTracker *tracker,
                 {
                     /* All successfull */
                     fakeesout->setExtraInfoProvider( this );
+                    const Role & streamRole = tracker->getStreamRole();
+                    if(streamRole.isDefault() && streamRole.autoSelectable())
+                        fakeesout->setPriority(ES_PRIORITY_MIN + 10);
+                    else if(!streamRole.autoSelectable())
+                        fakeesout->setPriority(ES_PRIORITY_NOT_DEFAULTABLE);
                     format = format_;
                     segmentTracker = tracker;
                     segmentTracker->registerListener(this);