[vlc-devel] [PATCH] avcodec: Fix unprotected accessed to pts

Hugo Beauzée-Luyssen hugo at beauzee.fr
Wed Oct 2 11:45:37 CEST 2019


---
 modules/codec/avcodec/video.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/modules/codec/avcodec/video.c b/modules/codec/avcodec/video.c
index d69abd7419..b81d9a90de 100644
--- a/modules/codec/avcodec/video.c
+++ b/modules/codec/avcodec/video.c
@@ -702,7 +702,10 @@ static void Flush( decoder_t *p_dec )
     decoder_sys_t *p_sys = p_dec->p_sys;
     AVCodecContext *p_context = p_sys->p_context;
 
+    vlc_mutex_lock(&p_sys->lock);
     date_Set(&p_sys->pts, VLC_TICK_INVALID); /* To make sure we recover properly */
+    vlc_mutex_unlock(&p_sys->lock);
+
     p_sys->i_late_frames = 0;
     p_sys->framedrop = FRAMEDROP_NONE;
     cc_Flush( &p_sys->cc );
@@ -1339,7 +1342,10 @@ static int DecodeVideo( decoder_t *p_dec, block_t *p_block )
         p_sys->i_last_output_frame = -1;
         p_sys->framedrop = FRAMEDROP_NONE;
 
+        vlc_mutex_lock(&p_sys->lock);
         date_Set( &p_sys->pts, VLC_TICK_INVALID ); /* To make sure we recover properly */
+        vlc_mutex_unlock(&p_sys->lock);
+
         cc_Flush( &p_sys->cc );
 
         if( p_block->i_flags & BLOCK_FLAG_CORRUPTED )
-- 
2.20.1



More information about the vlc-devel mailing list