vlc | branch: master | Francois Cartegnie <[email protected]> | Tue Jan 17 18:38:16 2017 +0100| [32272afceea488d49b9b27d994facbd59ee99d08] | committer: Francois Cartegnie
demux: mp4: handle ttml > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=32272afceea488d49b9b27d994facbd59ee99d08 --- modules/demux/mp4/essetup.c | 4 ++++ modules/demux/mp4/libmp4.h | 1 + modules/demux/mp4/mp4.c | 2 ++ 3 files changed, 7 insertions(+) diff --git a/modules/demux/mp4/essetup.c b/modules/demux/mp4/essetup.c index 7482e28..2647972 100644 --- a/modules/demux/mp4/essetup.c +++ b/modules/demux/mp4/essetup.c @@ -1174,6 +1174,10 @@ int SetupSpuES( demux_t *p_demux, mp4_track_t *p_track, MP4_Box_t *p_sample ) /* It's a little ugly but .. there are special cases */ switch( p_sample->i_type ) { + case VLC_FOURCC('s','t','p','p'): + p_track->fmt.i_codec = VLC_CODEC_TTML; + break; + case ATOM_c608: /* EIA608 closed captions */ //case ATOM_c708: /* EIA708 closed captions */ p_track->fmt.i_codec = VLC_CODEC_EIA608_1; diff --git a/modules/demux/mp4/libmp4.h b/modules/demux/mp4/libmp4.h index 726a790..b513e01 100644 --- a/modules/demux/mp4/libmp4.h +++ b/modules/demux/mp4/libmp4.h @@ -283,6 +283,7 @@ typedef int64_t stime_t; #define ATOM_text VLC_FOURCC( 't', 'e', 'x', 't' ) #define ATOM_tx3g VLC_FOURCC( 't', 'x', '3', 'g' ) #define ATOM_subp VLC_FOURCC( 's', 'u', 'b', 'p' ) +#define ATOM_subt VLC_FOURCC( 's', 'u', 'b', 't' ) #define ATOM_sbtl VLC_FOURCC( 's', 'b', 't', 'l' ) #define ATOM_clcp VLC_FOURCC( 'c', 'l', 'c', 'p' ) #define ATOM_c608 VLC_FOURCC( 'c', '6', '0', '8' ) diff --git a/modules/demux/mp4/mp4.c b/modules/demux/mp4/mp4.c index c37483b..54084a9 100644 --- a/modules/demux/mp4/mp4.c +++ b/modules/demux/mp4/mp4.c @@ -519,6 +519,7 @@ static block_t * MP4_Block_Convert( demux_t *p_demux, const mp4_track_t *p_track { switch( p_track->fmt.i_codec ) { + case VLC_CODEC_TTML: case VLC_CODEC_TX3G: case VLC_CODEC_SPU: /* accept as-is */ @@ -3098,6 +3099,7 @@ static void MP4_TrackCreate( demux_t *p_demux, mp4_track_t *p_track, case( ATOM_tx3g ): case( ATOM_text ): case( ATOM_subp ): + case( ATOM_subt ): /* ttml */ case( ATOM_sbtl ): case( ATOM_clcp ): /* closed captions */ p_track->fmt.i_cat = SPU_ES; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
