diff --git a/modules/demux/adaptive/PlaylistManager.cpp b/modules/demux/adaptive/PlaylistManager.cpp
index 707efc82c90cdf1af7d855bc1fa9ae5134c5ec58..cbc55396bd80ad67fa06144e3618652a5983e22a 100644
--- a/modules/demux/adaptive/PlaylistManager.cpp
+++ b/modules/demux/adaptive/PlaylistManager.cpp
@@ -161,6 +161,8 @@ bool PlaylistManager::init(bool b_preparsing)
     playlist->playbackStart.Set(time(nullptr));
     nextPlaylistupdate = playlist->playbackStart.Get();
 
+    if(b_preparsing)
+        preparsePlaylist();
     updateControlsPosition();
 
     return true;
@@ -422,6 +424,11 @@ bool PlaylistManager::updatePlaylist()
     return true;
 }
 
+void PlaylistManager::preparsePlaylist()
+{
+
+}
+
 Times PlaylistManager::getTimes(bool b_first) const
 {
     vlc_mutex_locker locker(&demux.lock);
diff --git a/modules/demux/adaptive/PlaylistManager.h b/modules/demux/adaptive/PlaylistManager.h
index 16bc3344113550e9dd1cac09e69555368b805e9a..e83935f1b39c4b6815c2175e7b75d40626584667 100644
--- a/modules/demux/adaptive/PlaylistManager.h
+++ b/modules/demux/adaptive/PlaylistManager.h
@@ -66,6 +66,7 @@ namespace adaptive
             virtual bool needsUpdate() const;
             virtual bool updatePlaylist();
             virtual void scheduleNextUpdate();
+            virtual void preparsePlaylist();
 
             /* static callbacks */
             static int control_callback(demux_t *, int, va_list);
@@ -105,6 +106,7 @@ namespace adaptive
             demux_t                             *p_demux;
             std::vector<AbstractStream *>        streams;
             BasePeriod                          *currentPeriod;
+            bool                                 b_preparsing;
 
             enum class TimestampSynchronizationPoint
             {
@@ -151,7 +153,6 @@ namespace adaptive
             bool         b_buffering;
             bool         b_canceled;
             mtime_t      pause_start;
-            bool         b_preparsing;
     };
 
 }
diff --git a/modules/demux/adaptive/Streams.cpp b/modules/demux/adaptive/Streams.cpp
index 574c1d89d4a5ccd9171a42de4cbeb0c5603b795b..a138b49e468e4c6c822e1096aaec669059a8736a 100644
--- a/modules/demux/adaptive/Streams.cpp
+++ b/modules/demux/adaptive/Streams.cpp
@@ -727,7 +727,7 @@ bool AbstractStream::getMediaAdvanceAmount(mtime_t *duration) const
     return true;
 }
 
-bool AbstractStream::runUpdates()
+bool AbstractStream::runUpdates(bool)
 {
     if(!valid)
         return false;
diff --git a/modules/demux/adaptive/Streams.hpp b/modules/demux/adaptive/Streams.hpp
index 182d5362343369b86a7778db2bc58a6ebc85a79e..5ff1b804956f4f01147eff03f836690d0aedac68 100644
--- a/modules/demux/adaptive/Streams.hpp
+++ b/modules/demux/adaptive/Streams.hpp
@@ -102,7 +102,7 @@ namespace adaptive
         virtual bool setPosition(const StreamPosition &, bool);
         bool getMediaPlaybackTimes(mtime_t *, mtime_t *, mtime_t *) const;
         bool getMediaAdvanceAmount(mtime_t *) const;
-        bool runUpdates();
+        bool runUpdates(bool = false);
 
         /* Used by demuxers fake streams */
         virtual block_t *readNextBlock() override;