[vlc-commits] videotoolbox: fix deadlock when input is paused
    Thomas Guillem 
    git at videolan.org
       
    Tue Nov  7 15:24:52 CET 2017
    
    
  
vlc | branch: master | Thomas Guillem <thomas at gllm.fr> | Tue Nov  7 15:22:07 2017 +0100| [757eb4766c628ea81913db68c95cba51002f850b] | committer: Thomas Guillem
videotoolbox: fix deadlock when input is paused
cf. comment.
Fixes #19013
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=757eb4766c628ea81913db68c95cba51002f850b
---
 modules/codec/videotoolbox.m | 5 +++++
 1 file changed, 5 insertions(+)
diff --git a/modules/codec/videotoolbox.m b/modules/codec/videotoolbox.m
index def5b0d2f4..19bc9c4e85 100644
--- a/modules/codec/videotoolbox.m
+++ b/modules/codec/videotoolbox.m
@@ -1680,7 +1680,12 @@ static void DecoderCallback(void *decompressionOutputRefCon,
 
     if(likely(p_info))
     {
+        /* Unlock the mutex because decoder_NewPicture() is blocking. Indeed,
+         * it can wait indefinitely when the input is paused. */
+        vlc_mutex_unlock(&p_sys->lock);
         picture_t *p_pic = decoder_NewPicture(p_dec);
+        vlc_mutex_lock(&p_sys->lock);
+
         if (!p_pic)
             goto end;
 
    
    
More information about the vlc-commits
mailing list