]> git.sesse.net Git - vlc/commit
decoder: fix race in spu_new_buffer
authorThomas Guillem <thomas@gllm.fr>
Wed, 18 Mar 2015 09:16:44 +0000 (09:16 +0000)
committerJean-Baptiste Kempf <jb@videolan.org>
Fri, 20 Mar 2015 15:10:12 +0000 (16:10 +0100)
commit90fc091360a6cdfcd7f2d6a244f505bdc2280b4c
treeb2d06ed24f52f372ce90310514f177f55a60c6c8
parentb506e7db2cbd3cf8c7742efc59a6994fd2719477
decoder: fix race in spu_new_buffer

There is a race when starting video with subtitles at a given position (via
--start-time).

If all decoders are flushed early, the video decoder may not have created the
Vout via the decoder_NewPicture call. In that case, spu_new_buffer will be
blocking for 6 seconds. Indeed, spu_new_buffer can block for maximum 6 seconds
when it's waiting for a Vout.

To solve this race, abort spu_new_buffer if decoder is flushing.

How to reproduce the race condition:
./vlc --start-time 3600 <video_with_subtitles>

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
src/input/decoder.c