Commit 4da67f0f authored by François Cartegnie's avatar François Cartegnie 🤞

demux: ts: split away description tables

parent 3a8fd592
......@@ -231,7 +231,7 @@ demux_LTLIBRARIES += libplaylist_plugin.la
libts_plugin_la_SOURCES = demux/mpeg/ts.c demux/mpeg/ts.h \
demux/mpeg/sections.c demux/mpeg/sections.h \
demux/mpeg/mpeg4_iod.c demux/mpeg/mpeg4_iod.h \
demux/mpeg/pes.h \
demux/mpeg/ts_strings.h demux/mpeg/pes.h \
mux/mpeg/csa.c mux/mpeg/dvbpsi_compat.h \
mux/mpeg/streams.h mux/mpeg/tables.c mux/mpeg/tables.h \
mux/mpeg/tsutil.c mux/mpeg/tsutil.h \
......
......@@ -46,6 +46,7 @@
#include "../../mux/mpeg/csa.h"
#include "ts.h"
#include "ts_strings.h"
/* Include dvbpsi headers */
# include <dvbpsi/dvbpsi.h>
......@@ -5486,60 +5487,7 @@ static void PMTCallBack( void *data, dvbpsi_pmt_t *p_dvbpsipmt )
ValidateDVBMeta( p_demux, p_dvbpsies->i_pid );
char const * psz_typedesc;
const char * const rgpsz_descs[] =
{
"ISO/IEC Reserved",
"ISO/IEC 11172 Video",
"ISO/IEC 13818-2 Video or ISO/IEC 11172-2 constrained parameter video stream",
"ISO/IEC 11172 Audio",
"ISO/IEC 13818-3 Audio",
"ISO/IEC 13818-1 private_sections",
"ISO/IEC 13818-1 PES packets containing private data",
"ISO/IEC 13522 MHEG",
"ISO/IEC 13818-1 Annex A DSM CC",
/* ^ 0x08 */
"ITU-T Rec. H.222.1",
"ISO/IEC 13818-6 type A",
"ISO/IEC 13818-6 type B",
"ISO/IEC 13818-6 type C",
"ISO/IEC 13818-6 type D",
"ISO/IEC 13818-1 auxiliary",
"ISO/IEC 13818-7 Audio with ADTS transport",
/* ^ 0x0F */
"ISO/IEC 14496-2 Visual",
"ISO/IEC 14496-3 Audio with LATM transport",
"ISO/IEC 14496-1 SL-packetized or FlexMux stream carried in PES packets",
"ISO/IEC 14496-1 SL-packetized or FlexMux stream carried in sections",
"ISO/IEC 13818-6 Synchronized download protocol",
"Metadata carried in PES packets",
"Metadata carried in metadata_sections",
"Metadata carried in ISO/IEC 13818-6 Data Carousel",
"Metadata carried in ISO/IEC 13818-6 Object Carousel",
"Metadata carried in ISO/IEC 13818-6 Synchronized download protocol",
/* ^ 0x19 */
"MPEG-2 IPMP Stream",
"AVC video stream as defined in ITU-T Rec. H.264",
"ISO/IEC 14496-3 Audio",
"ISO/IEC 14496-17 Text",
"ISO/IEC 23002-3 auxiliary video stream",
"SVC video sub-stream as defined in ITU-T H.264 Annex G",
/* ^ 0x1F */
"MVC video sub-stream as defined in ITU-T H.264 Annex H",
"Video stream conforming to one or more profiles as defined in ITU-T T.800",
"Additional 3D View ITU-T H.262",
"Additional 3D View ITU-T H.264",
/* ^ 0x23 */
};
if( p_dvbpsies->i_type <= 0x23 )
psz_typedesc = rgpsz_descs[p_dvbpsies->i_type];
else if (p_dvbpsies->i_type >= 0x0F && p_dvbpsies->i_type < 0x7F)
psz_typedesc = "ISO/IEC 13818-1 Reserved";
else if( p_dvbpsies->i_type == 0x7F )
psz_typedesc = rgpsz_descs[0x1A];
else
psz_typedesc = "User Private";
char const * psz_typedesc = ISO13818_1_Get_StreamType_Description( p_dvbpsies->i_type );
msg_Dbg( p_demux, " * pid=%d type=0x%x %s",
p_dvbpsies->i_pid, p_dvbpsies->i_type, psz_typedesc );
......
/*****************************************************************************
* ts_strings.h : Descriptions for TS known values
*****************************************************************************
* Copyright (C) 2015-2016 - VideoLAN Authors
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*****************************************************************************/
#ifndef VLC_TS_STRINGS
#define VLC_TS_STRINGS
static const char * const ISO13818_1_other_descs[] =
{
"ISO/IEC 13818-1 Reserved",
"User Private",
};
static const char * const ISO13818_1_streamstypes_descs[] =
{
"ISO/IEC Reserved",
"ISO/IEC 11172 Video",
"ISO/IEC 13818-2 Video or ISO/IEC 11172-2 constrained parameter video stream",
"ISO/IEC 11172 Audio",
"ISO/IEC 13818-3 Audio",
"ISO/IEC 13818-1 private_sections",
"ISO/IEC 13818-1 PES packets containing private data",
"ISO/IEC 13522 MHEG",
"ISO/IEC 13818-1 Annex A DSM CC",
/* ^ 0x08 */
"ITU-T Rec. H.222.1",
"ISO/IEC 13818-6 type A",
"ISO/IEC 13818-6 type B",
"ISO/IEC 13818-6 type C",
"ISO/IEC 13818-6 type D",
"ISO/IEC 13818-1 auxiliary",
"ISO/IEC 13818-7 Audio with ADTS transport",
/* ^ 0x0F */
"ISO/IEC 14496-2 Visual",
"ISO/IEC 14496-3 Audio with LATM transport",
"ISO/IEC 14496-1 SL-packetized or FlexMux stream carried in PES packets",
"ISO/IEC 14496-1 SL-packetized or FlexMux stream carried in sections",
"ISO/IEC 13818-6 Synchronized download protocol",
"Metadata carried in PES packets",
"Metadata carried in metadata_sections",
"Metadata carried in ISO/IEC 13818-6 Data Carousel",
"Metadata carried in ISO/IEC 13818-6 Object Carousel",
"Metadata carried in ISO/IEC 13818-6 Synchronized download protocol",
/* ^ 0x19 */
"MPEG-2 IPMP Stream",
"AVC video stream as defined in ITU-T Rec. H.264",
"ISO/IEC 14496-3 Audio",
"ISO/IEC 14496-17 Text",
"ISO/IEC 23002-3 auxiliary video stream",
"SVC video sub-stream as defined in ITU-T H.264 Annex G",
/* ^ 0x1F */
"MVC video sub-stream as defined in ITU-T H.264 Annex H",
"Video stream conforming to one or more profiles as defined in ITU-T T.800",
"Additional 3D View ITU-T H.262",
"Additional 3D View ITU-T H.264",
/* ^ 0x23 */
};
static const char *ISO13818_1_Get_StreamType_Description(uint8_t i_type)
{
if( i_type <= 0x23 )
return ISO13818_1_streamstypes_descs[i_type];
else if (i_type >= 0x0F && i_type < 0x7F)
return ISO13818_1_streamstypes_descs[0];
else if( i_type == 0x7F )
return ISO13818_1_streamstypes_descs[0x1A];
else
return ISO13818_1_other_descs[1];
}
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment