vlc | branch: master | Francois Cartegnie <[email protected]> | Thu Aug 6 15:18:26 2015 +0200| [8d69d2a3f5e8413174eef2615d9dff0125445555] | committer: Francois Cartegnie
packetizer: AVC: parse closed captions Closed captions are in the same SEI user sections as H264 according to the spec. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=8d69d2a3f5e8413174eef2615d9dff0125445555 --- modules/packetizer/h264.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/modules/packetizer/h264.c b/modules/packetizer/h264.c index eb832c0..8502298 100644 --- a/modules/packetizer/h264.c +++ b/modules/packetizer/h264.c @@ -336,7 +336,6 @@ static int Open( vlc_object_t *p_this ) /* Set callback */ p_dec->pf_packetize = PacketizeAVC1; - /* TODO CC ? */ } else { @@ -346,14 +345,6 @@ static int Open( vlc_object_t *p_this ) /* Set callback */ p_dec->pf_packetize = Packetize; - p_dec->pf_get_cc = GetCc; - - /* */ - p_sys->i_cc_pts = VLC_TS_INVALID; - p_sys->i_cc_dts = VLC_TS_INVALID; - p_sys->i_cc_flags = 0; - cc_Init( &p_sys->cc ); - cc_Init( &p_sys->cc_next ); /* */ if( p_dec->fmt_in.i_extra > 0 ) @@ -361,6 +352,16 @@ static int Open( vlc_object_t *p_this ) p_dec->fmt_in.p_extra, p_dec->fmt_in.i_extra ); } + /* CC are the same for H264/AVC in T35 sections (ETSI TS 101 154) */ + p_dec->pf_get_cc = GetCc; + + /* */ + p_sys->i_cc_pts = VLC_TS_INVALID; + p_sys->i_cc_dts = VLC_TS_INVALID; + p_sys->i_cc_flags = 0; + cc_Init( &p_sys->cc ); + cc_Init( &p_sys->cc_next ); + return VLC_SUCCESS; } @@ -387,11 +388,8 @@ static void Close( vlc_object_t *p_this ) } packetizer_Clean( &p_sys->packetizer ); - if( p_dec->pf_get_cc ) - { - cc_Exit( &p_sys->cc_next ); - cc_Exit( &p_sys->cc ); - } + cc_Exit( &p_sys->cc_next ); + cc_Exit( &p_sys->cc ); free( p_sys ); } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
