[vlc-devel] [PATCH 2/7] video_output: rename frame_by_frame to can_drop_late in ThreadGetPrerenderedLocked

Steve Lhomme robux4 at ycbcr.xyz
Tue Oct 20 11:04:33 CEST 2020


And invert the boolean on calls.
This is easier to read.

Only use the p_sys->is_late_dropped when needed.
---
 src/video_output/video_output.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
index bc2ba23ce09..f582b5c1cff 100644
--- a/src/video_output/video_output.c
+++ b/src/video_output/video_output.c
@@ -1062,10 +1062,9 @@ static void ThreadChangeFilters(vout_thread_sys_t *vout)
 /* */
 VLC_USED
 static picture_t *ThreadGetPrerenderedLocked(vout_thread_sys_t *vout, bool reuse_decoded,
-                                       bool frame_by_frame, bool *paused)
+                                       bool can_drop_late, bool *paused)
 {
     vout_thread_sys_t *sys = vout;
-    bool is_late_dropped = sys->is_late_dropped && !frame_by_frame;
 
     picture_t *picture = filter_chain_VideoFilter(sys->filter.chain_static, NULL);
     assert(!reuse_decoded || !picture);
@@ -1090,7 +1089,7 @@ static picture_t *ThreadGetPrerenderedLocked(vout_thread_sys_t *vout, bool reuse
                         * current picture can't be be late. */
                     *paused = true;
                 }
-                else if (is_late_dropped && !decoded->b_force)
+                else if (sys->is_late_dropped && can_drop_late && !decoded->b_force)
                 {
                     vlc_tick_t late = system_now - system_pts;
 
@@ -1474,7 +1473,7 @@ static int ThreadDisplayPicture(vout_thread_sys_t *vout, vlc_tick_t *deadline)
     {
         assert(!sys->displayed.next);
         sys->displayed.current =
-            ThreadGetPrerenderedLocked(vout, true, frame_by_frame, &paused);
+            ThreadGetPrerenderedLocked(vout, true, !frame_by_frame, &paused);
         if (!sys->displayed.current)
         {
             vlc_mutex_unlock(&sys->filter.lock);
@@ -1488,7 +1487,7 @@ static int ThreadDisplayPicture(vout_thread_sys_t *vout, vlc_tick_t *deadline)
         if (!sys->displayed.next)
         {
             sys->displayed.next =
-                ThreadGetPrerenderedLocked(vout, false, true, &paused);
+                ThreadGetPrerenderedLocked(vout, false, false, &paused);
         }
         vlc_mutex_unlock(&sys->filter.lock);
 
@@ -1505,7 +1504,7 @@ static int ThreadDisplayPicture(vout_thread_sys_t *vout, vlc_tick_t *deadline)
             if (!sys->displayed.next)
             {
                 sys->displayed.next =
-                    ThreadGetPrerenderedLocked(vout, false, false, &paused);
+                    ThreadGetPrerenderedLocked(vout, false, true, &paused);
             }
         }
         vlc_mutex_unlock(&sys->filter.lock);
-- 
2.26.2



More information about the vlc-devel mailing list