[vlc-commits] demux: ts: add adts probing
Francois Cartegnie
git at videolan.org
Thu May 17 10:44:01 CEST 2018
vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Thu May 17 10:25:20 2018 +0200| [3a8ae5e94f4a51f04a83a18abbd366ed4589b573] | committer: Francois Cartegnie
demux: ts: add adts probing
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=3a8ae5e94f4a51f04a83a18abbd366ed4589b573
---
modules/demux/mpeg/ts_hotfixes.c | 6 ++++++
modules/demux/mpeg/ts_pid.h | 1 +
2 files changed, 7 insertions(+)
diff --git a/modules/demux/mpeg/ts_hotfixes.c b/modules/demux/mpeg/ts_hotfixes.c
index 65bbe42bdb..4a79b40d75 100644
--- a/modules/demux/mpeg/ts_hotfixes.c
+++ b/modules/demux/mpeg/ts_hotfixes.c
@@ -171,6 +171,11 @@ void ProbePES( demux_t *p_demux, ts_pid_t *pid, const uint8_t *p_pesstart, size_
{
pid->probed.i_fourcc = VLC_CODEC_MPGA;
}
+ else if( p_data[0] == 0xFF && (p_data[1] & 0xF2) == 0xF0 )
+ {
+ pid->probed.i_fourcc = VLC_CODEC_MP4A; /* ADTS */
+ pid->probed.i_original_fourcc = VLC_FOURCC('A','D','T','S');
+ }
}
/* VIDEO STREAM */
else if( i_stream_id >= 0xE0 && i_stream_id <= 0xEF )
@@ -309,6 +314,7 @@ void MissingPATPMTFixup( demux_t *p_demux )
continue;
es_format_Init(&esstreams[j].fmt, p_pid->probed.i_cat, p_pid->probed.i_fourcc);
+ esstreams[j].fmt.i_original_fourcc = p_pid->probed.i_original_fourcc;
if( VLC_SUCCESS !=
FillPMTESParams(mux_standard, &esstreams[j].fmt, &esstreams[j].ts, &esstreams[j].pes ) )
diff --git a/modules/demux/mpeg/ts_pid.h b/modules/demux/mpeg/ts_pid.h
index d727adf2e3..3a0e6bcffd 100644
--- a/modules/demux/mpeg/ts_pid.h
+++ b/modules/demux/mpeg/ts_pid.h
@@ -74,6 +74,7 @@ struct ts_pid_t
struct
{
vlc_fourcc_t i_fourcc;
+ vlc_fourcc_t i_original_fourcc;
int i_cat;
int i_pcr_count;
uint8_t i_stream_id;
More information about the vlc-commits
mailing list