[vlc-commits] [Git][videolan/vlc][3.0.x] 3 commits: codec: webvtt: fix leaking cue segments
Steve Lhomme (@robUx4)
gitlab at videolan.org
Thu Feb 27 06:41:33 UTC 2025
Steve Lhomme pushed to branch 3.0.x at VideoLAN / VLC
Commits:
26e42d01 by Steve Lhomme at 2025-02-27T05:58:46+00:00
codec: webvtt: fix leaking cue segments
The p_new element was never added to the chain.
Fixes #28990
(cherry picked from commit 60d9ff2fe65ecb895e67218af7d50bcb0b749bba) (edited)
edited:
- the indentation is different on 3.0
- - - - -
b2850c07 by Steve Lhomme at 2025-02-27T05:58:46+00:00
svcdsub: fix decoded block leaking
A "gathered" SPU is assembled to send to the decoder, and the decoder then handles
the data from there. But it was never released.
Fixes #28992
(cherry picked from commit f350f64fcbd4df51e2fef8446e8e9cf7c0760f33)
- - - - -
d2aa5898 by Steve Lhomme at 2025-02-27T05:58:46+00:00
cvdsub: fix leak on missing PTS
Fixes #28995
(cherry picked from commit 35e67cfa5d3ac3907c2e47a856955300706d6083)
- - - - -
3 changed files:
- modules/codec/cvdsub.c
- modules/codec/svcdsub.c
- modules/codec/webvtt/subsvtt.c
Changes:
=====================================
modules/codec/cvdsub.c
=====================================
@@ -239,6 +239,7 @@ static block_t *Reassemble( decoder_t *p_dec, block_t *p_block )
if( p_sys->i_state == SUBTITLE_BLOCK_EMPTY && p_block->i_pts <= VLC_TICK_INVALID )
{
msg_Warn( p_dec, "first packet expected but no PTS present");
+ block_Release( p_block );
return NULL;
}
=====================================
modules/codec/svcdsub.c
=====================================
@@ -176,6 +176,7 @@ static int Decode( decoder_t *p_dec, block_t *p_block )
/* Parse and decode */
subpicture_t *p_spu = DecodePacket( p_dec, p_block );
+ block_Release( p_block );
if( p_spu != NULL )
decoder_QueueSub( p_dec, p_spu );
return VLCDEC_SUCCESS;
=====================================
modules/codec/webvtt/subsvtt.c
=====================================
@@ -1590,6 +1590,8 @@ static text_segment_t * ConvertCuesToSegments( decoder_t *p_dec, vlc_tick_t i_nz
}
*pp_append = p_new;
+ while( *pp_append )
+ pp_append = &((*pp_append)->p_next);
if( p_cue->settings.vertical == WEBVTT_ALIGN_LEFT )
{
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/51ac114275229615ee21fcc4a4200278896492b1...d2aa58982c9247f44f29a7fe461c3a480aebb053
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/51ac114275229615ee21fcc4a4200278896492b1...d2aa58982c9247f44f29a7fe461c3a480aebb053
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