[vlc-commits] [Git][videolan/vlc][master] decoder: lock ModuleThread_PlaySpu()
Jean-Baptiste Kempf (@jbk)
gitlab at videolan.org
Thu Mar 14 10:39:54 UTC 2024
Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC
Commits:
7a5815af by Thomas Guillem at 2024-03-14T10:20:03+00:00
decoder: lock ModuleThread_PlaySpu()
ModuleThread_PlayAudio() and ModuleThread_PlayVideo() are called with
the lock held. There is no reason to not hold it for Spu. This avoid an
useless Lock() + Unlock().
vout_PutSubpicture() will now be called with the lock held.
- - - - -
1 changed file:
- src/input/decoder.c
Changes:
=====================================
src/input/decoder.c
=====================================
@@ -1569,9 +1569,7 @@ static void ModuleThread_PlaySpu( vlc_input_decoder_t *p_owner, subpicture_t *p_
}
/* */
- vlc_fifo_Lock(p_owner->p_fifo);
int ret = DecoderWaitUnblock(p_owner);
- vlc_fifo_Unlock(p_owner->p_fifo);
if (ret != VLC_SUCCESS || p_subpic->i_start == VLC_TICK_INVALID)
{
@@ -1602,15 +1600,10 @@ static void ModuleThread_QueueSpu( decoder_t *p_dec, subpicture_t *p_spu )
if( p_spu->i_start != VLC_TICK_INVALID &&
p_spu->i_start < p_owner->i_preroll_end &&
( p_spu->i_stop == VLC_TICK_INVALID || p_spu->i_stop < p_owner->i_preroll_end ) )
- {
- vlc_fifo_Unlock(p_owner->p_fifo);
subpicture_Delete( p_spu );
- }
else
- {
- vlc_fifo_Unlock(p_owner->p_fifo);
ModuleThread_PlaySpu( p_owner, p_spu );
- }
+ vlc_fifo_Unlock(p_owner->p_fifo);
}
static void DecoderThread_ProcessInput( vlc_input_decoder_t *p_owner, vlc_frame_t *frame );
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/7a5815afc3158d85c25d47466a05b4dd2de2133e
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/7a5815afc3158d85c25d47466a05b4dd2de2133e
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance
More information about the vlc-commits
mailing list