qt: playlist: use item title if available
[vlc.git] / modules / mux / mpeg / tables.h
blobbd988dfe656bca0d571b15bd780a2fb49282f692
1 /*****************************************************************************
2 * tables.h
3 *****************************************************************************
4 * Copyright (C) 2001-2005, 2015 VLC authors and VideoLAN
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_MPEG_TABLES_H_
21 #define VLC_MPEG_TABLES_H_
23 #define MAX_SDT_DESC 64
25 typedef struct
27 tsmux_stream_t ts;
28 int i_netid;
29 struct
31 char *psz_provider; /* provider in UTF8 */
32 char *psz_service_name; /* program in UTF8 */
33 } desc[MAX_SDT_DESC];
34 } sdt_psi_t;
36 block_t * WritePSISection( dvbpsi_psi_section_t* p_section );
38 void BuildPAT( dvbpsi_t *p_dvbpsi,
39 void *p_opaque, PEStoTSCallback pf_callback,
40 int i_tsid, int i_pat_version_number,
41 tsmux_stream_t *p_pat,
42 unsigned i_programs, tsmux_stream_t *p_pmt, const int *pi_programs_number );
44 typedef struct
46 const pesmux_stream_t *pes;
47 const tsmux_stream_t *ts;
48 const es_format_t *fmt;
49 int i_mapped_prog;
50 } pes_mapped_stream_t;
52 typedef enum ts_mux_standard
54 TS_MUX_STANDARD_DVB = 0,
55 TS_MUX_STANDARD_ATSC,
56 } ts_mux_standard;
58 void BuildPMT( dvbpsi_t *p_dvbpsi, vlc_object_t *p_object,
59 ts_mux_standard,
60 void *p_opaque, PEStoTSCallback pf_callback,
61 int i_tsid, int i_pmt_version_number,
62 int i_pcr_pid,
63 sdt_psi_t *p_sdt,
64 unsigned i_programs, tsmux_stream_t *p_pmt, const int *pi_programs_number,
65 unsigned i_mapped_streams, const pes_mapped_stream_t *p_mapped_streams );
68 int FillPMTESParams( ts_mux_standard, const es_format_t *,
69 tsmux_stream_t *, pesmux_stream_t * );
71 #endif