]> git.sesse.net Git - vlc/blob - modules/mux/mpeg/tables.h
MPEG mux: fix compilation
[vlc] / modules / mux / mpeg / tables.h
1 /*****************************************************************************
2  * tables.h
3  *****************************************************************************
4  * Copyright (C) 2001-2005, 2015 VLC authors and VideoLAN
5  *
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.
10  *
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.
15  *
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 _TABLES_H
21 #define _TABLES_H 1
22
23 #if (DVBPSI_VERSION_INT >= DVBPSI_VERSION_WANTED(1,0,0))
24     #define DVBPSI_HANDLE_PARAM(a) a,
25 #else
26     #define DVBPSI_HANDLE_PARAM(a)
27 #endif
28
29 #define MAX_SDT_DESC 64
30
31 typedef struct
32 {
33     ts_stream_t ts;
34     int i_netid;
35     struct
36     {
37         char *psz_provider;
38         char *psz_service_name;  /* name of program */
39     } desc[MAX_SDT_DESC];
40 } sdt_psi_t;
41
42 block_t * WritePSISection( dvbpsi_psi_section_t* p_section );
43
44 void BuildPAT( DVBPSI_HANDLE_PARAM(dvbpsi_t *p_dvbpsi)
45                void *p_opaque, PEStoTSCallback pf_callback,
46                int i_tsid, int i_pat_version_number,
47                ts_stream_t *p_pat,
48                unsigned i_programs, ts_stream_t *p_pmt, const int *pi_programs_number );
49
50 typedef struct
51 {
52     const pes_stream_t *pes;
53     const ts_stream_t  *ts;
54     const es_format_t  *fmt;
55     int i_mapped_prog;
56 } pes_mapped_stream_t;
57
58 void BuildPMT( DVBPSI_HANDLE_PARAM(dvbpsi_t *p_dvbpsi) vlc_object_t *p_object,
59                void *p_opaque, PEStoTSCallback pf_callback,
60                int i_tsid, int i_pmt_version_number,
61                int i_pcr_pid,
62                sdt_psi_t *p_sdt,
63                unsigned i_programs, ts_stream_t *p_pmt, const int *pi_programs_number,
64                unsigned i_mapped_streams, const pes_mapped_stream_t *p_mapped_streams );
65
66 #endif