Add sami extension for auto-loading of subs
[vlc.git] / modules / codec / cea708.h
blobac33103283e30d335c308a437c9545a004f7baa2
1 /*****************************************************************************
2 * cea708.h : CEA708 subtitles decoder
3 *****************************************************************************
4 * Copyright © 2017 Videolabs, VideoLAN and VLC authors
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU Lesser General Public License as published by
8 * the Free Software Foundation; either version 2.1 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public License
17 * along with this program; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
19 *****************************************************************************/
20 #ifndef VLC_CEA708_H_
21 #define VLC_CEA708_H_
23 typedef void(*service_data_hdlr_t)(void *, uint8_t i_sid, mtime_t,
24 const uint8_t *p_data, size_t i_data);
26 /* DVTCC Services demuxing */
27 #define CEA708_DTVCC_MAX_PKT_SIZE 128
28 typedef struct cea708_demux_t cea708_demux_t;
30 cea708_demux_t * CEA708_DTVCC_Demuxer_New( void *, service_data_hdlr_t );
31 void CEA708_DTVCC_Demuxer_Release( cea708_demux_t * );
32 void CEA708_DTVCC_Demuxer_Push( cea708_demux_t *h, mtime_t, const uint8_t data[3] );
33 void CEA708_DTVCC_Demuxer_Flush( cea708_demux_t *h );
35 /* DVTCC Services decoding */
36 typedef struct cea708_t cea708_t;
38 cea708_t *CEA708_Decoder_New( decoder_t * );
39 void CEA708_Decoder_Release( cea708_t *p_cea708 );
40 void CEA708_Decoder_Push( cea708_t *p_cea708, mtime_t,
41 const uint8_t *p_data, size_t i_data );
42 void CEA708_Decoder_Flush( cea708_t *p_cea708 );
44 #endif