[vlc-commits] [Git][videolan/vlc][master] demux: mp4: ignore implicit PTS for old codecs only
Felix Paul Kühne (@fkuehne)
gitlab at videolan.org
Sat May 10 10:40:36 UTC 2025
Felix Paul Kühne pushed to branch master at VideoLAN / VLC
Commits:
5d3135de by François Cartegnie at 2025-05-10T10:15:06+00:00
demux: mp4: ignore implicit PTS for old codecs only
refs #28783
- - - - -
3 changed files:
- modules/demux/mp4/essetup.c
- modules/demux/mp4/mp4.c
- modules/demux/mp4/mp4.h
Changes:
=====================================
modules/demux/mp4/essetup.c
=====================================
@@ -784,6 +784,9 @@ int SetupVideoES( demux_t *p_demux, const mp4_track_t *p_track, const MP4_Box_t
BOXDATA(p_strf)->i_extra,
p_fmt );
}
+ /* Mostly bogus muxs with old codecs
+ * see 71c4cc66456facb59cd0eef1626be1be1befeb39 */
+ p_cfg->b_ignore_implicit_pts = true;
break;
}
=====================================
modules/demux/mp4/mp4.c
=====================================
@@ -603,7 +603,7 @@ static vlc_tick_t MP4_TrackGetDTSPTS( demux_t *p_demux, const mp4_track_t *p_tra
{
*pi_nzpts = i_dts + MP4_rescale_mtime( delta, p_track->i_timescale );
}
- else if( p_track->fmt.i_cat == VIDEO_ES )
+ else if( p_track->b_ignore_implicit_pts )
{
*pi_nzpts = INVALID_PTS;
}
@@ -3162,6 +3162,7 @@ static void TrackConfigApply( const track_config_t *p_cfg,
p_track->b_chans_reorder = p_cfg->b_chans_reorder;
p_track->b_forced_spu = p_cfg->b_forced_spu;
p_track->i_block_flags = p_cfg->i_block_flags;
+ p_track->b_ignore_implicit_pts = p_cfg->b_ignore_implicit_pts;
}
static int TrackFillConfig( demux_t *p_demux, const mp4_track_t *p_track,
=====================================
modules/demux/mp4/mp4.h
=====================================
@@ -91,6 +91,7 @@ typedef struct
bool b_chans_reorder;
bool b_forced_spu; /* forced track selection (never done by default/priority) */
+ bool b_ignore_implicit_pts;
uint32_t i_block_flags;
} track_config_t;
@@ -109,6 +110,7 @@ typedef struct
uint32_t i_switch_group;
bool b_mac_encoding;
+ bool b_ignore_implicit_pts;
es_format_t fmt;
uint32_t i_block_flags;
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/5d3135decaf62be234f9bb8b261d1ac3b19e824d
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/5d3135decaf62be234f9bb8b261d1ac3b19e824d
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