[vlc-commits] codec: avcodec: only increase late frame on first output loop iteration

Francois Cartegnie git at videolan.org
Fri Oct 25 16:03:17 CEST 2019


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Thu Oct 24 16:06:54 2019 +0200| [dfe949befbd22c41e4e2bdb12d21d9852aef5a8d] | committer: Francois Cartegnie

codec: avcodec: only increase late frame on first output loop iteration

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

 modules/codec/avcodec/video.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/modules/codec/avcodec/video.c b/modules/codec/avcodec/video.c
index a6aff92788..84bd9df84b 100644
--- a/modules/codec/avcodec/video.c
+++ b/modules/codec/avcodec/video.c
@@ -1063,6 +1063,7 @@ static int DecodeBlock( decoder_t *p_dec, block_t **pp_block )
 
     bool b_drain = ( pp_block == NULL );
     bool b_drained = false;
+    bool b_first_output_sequence = true;
 
     do
     {
@@ -1193,8 +1194,12 @@ static int DecodeBlock( decoder_t *p_dec, block_t **pp_block )
 
         const vlc_tick_t i_next_pts = interpolate_next_pts(p_dec, frame);
 
-        update_late_frame_count( p_dec, p_block, vlc_tick_now(), i_pts,
-                                 i_next_pts, frame->reordered_opaque);
+        if( b_first_output_sequence )
+        {
+            update_late_frame_count( p_dec, p_block, vlc_tick_now(), i_pts,
+                                     i_next_pts, frame->reordered_opaque);
+            b_first_output_sequence = false;
+        }
 
         if( !p_frame_info->b_display ||
            ( !p_sys->p_va && !frame->linesize[0] ) ||



More information about the vlc-commits mailing list