vlc | branch: master | Francois Cartegnie <[email protected]> | Tue May 21 
16:25:42 2019 +0200| [ae99d8cdd002a20e0890bb712b4df7beb91fc4bd] | committer: 
Francois Cartegnie

demux: adaptive: merge controls value updates

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ae99d8cdd002a20e0890bb712b4df7beb91fc4bd
---

 modules/demux/adaptive/PlaylistManager.cpp | 34 ++++++++++++------------------
 modules/demux/adaptive/PlaylistManager.h   |  1 -
 2 files changed, 13 insertions(+), 22 deletions(-)

diff --git a/modules/demux/adaptive/PlaylistManager.cpp 
b/modules/demux/adaptive/PlaylistManager.cpp
index 764e24a8e0..9b298ece52 100644
--- a/modules/demux/adaptive/PlaylistManager.cpp
+++ b/modules/demux/adaptive/PlaylistManager.cpp
@@ -157,7 +157,6 @@ bool PlaylistManager::init()
     playlist->playbackStart.Set(time(NULL));
     nextPlaylistupdate = playlist->playbackStart.Get();
 
-    updateControlsContentType();
     updateControlsPosition();
 
     return true;
@@ -385,7 +384,6 @@ bool PlaylistManager::updatePlaylist()
     for(it=streams.begin(); it!=streams.end(); ++it)
         (*it)->runUpdates();
 
-    updateControlsContentType();
     updateControlsPosition();
     return true;
 }
@@ -449,7 +447,6 @@ int PlaylistManager::doDemux(vlc_tick_t increment)
 
     AbstractStream::status status = dequeue(demux.i_nzpcr, &i_nzbarrier);
 
-    updateControlsContentType();
     updateControlsPosition();
 
     switch(status)
@@ -694,15 +691,25 @@ void * PlaylistManager::managerThread(void *opaque)
 void PlaylistManager::updateControlsPosition()
 {
     vlc_mutex_locker locker(&cached.lock);
-    const vlc_tick_t i_duration = cached.i_length;
-    if(i_duration == 0)
+    if(playlist->isLive())
+    {
+        cached.b_live = true;
+        cached.i_length = 0;
+    }
+    else
+    {
+        cached.b_live = false;
+        cached.i_length = playlist->duration.Get();
+    }
+
+    if(cached.i_length == 0)
     {
         cached.f_position = 0.0;
     }
     else
     {
         const vlc_tick_t i_length = getCurrentPlaybackTime() - 
getFirstPlaybackTime();
-        cached.f_position = (double) i_length / i_duration;
+        cached.f_position = (double) i_length / cached.i_length;
     }
 
     vlc_tick_t i_time = getCurrentPlaybackTime();
@@ -711,21 +718,6 @@ void PlaylistManager::updateControlsPosition()
     cached.i_time = i_time;
 }
 
-void PlaylistManager::updateControlsContentType()
-{
-    vlc_mutex_locker locker(&cached.lock);
-    if(playlist->isLive())
-    {
-        cached.b_live = true;
-        cached.i_length = 0;
-    }
-    else
-    {
-        cached.b_live = false;
-        cached.i_length = playlist->duration.Get();
-    }
-}
-
 AbstractAdaptationLogic 
*PlaylistManager::createLogic(AbstractAdaptationLogic::LogicType type, 
AbstractConnectionManager *conn)
 {
     vlc_object_t *obj = VLC_OBJECT(p_demux);
diff --git a/modules/demux/adaptive/PlaylistManager.h 
b/modules/demux/adaptive/PlaylistManager.h
index d7623aea97..6d363f9ca9 100644
--- a/modules/demux/adaptive/PlaylistManager.h
+++ b/modules/demux/adaptive/PlaylistManager.h
@@ -87,7 +87,6 @@ namespace adaptive
             void unsetPeriod();
 
             void updateControlsPosition();
-            void updateControlsContentType();
 
             /* local factories */
             virtual AbstractAdaptationLogic 
*createLogic(AbstractAdaptationLogic::LogicType,

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to