mpegdefs: Add list of known table_id

Along with the specifications from which they come. Avoids having
to search for which spec a table_id belongs to
This commit is contained in:
Edward Hervey 2012-06-04 08:32:51 +02:00
parent 0e86e68c6a
commit 25f6c78d79
2 changed files with 81 additions and 10 deletions

View file

@ -194,9 +194,81 @@
/* Internal stream types >= 0x100 */
#define ST_GST_AUDIO_RAWA52 0x181
/* Used when we don't yet know which stream type it will be in a PS stream */
/* Used when we don't yet know which stream type it will be in a PS stream */
#define ST_GST_VIDEO_MPEG1_OR_2 0x102
/* Table IDs */
/* ITU H.222.0 / IEC 13818-1 */
#define TABLE_ID_PROGRAM_ASSOCIATION 0x00
#define TABLE_ID_CONDITIONAL_ACCESS 0x01
#define TABLE_ID_TS_PROGRAM_MAP 0x02
#define TABLE_ID_TS_DESCRIPTION 0x03
#define TABLE_ID_14496_SCENE_DESCRIPTION 0x04
#define TABLE_ID_14496_OBJET_DESCRIPTOR 0x05
#define TABLE_ID_METADATA 0x06
#define TABLE_ID_IPMP_CONTROL_INFORMATION 0x07
/* IEC 13818-6 (DSM-CC) */
#define TABLE_ID_DSM_CC_MULTIPROTO_ENCAPSULATED_DATA 0x3A
#define TABLE_ID_DSM_CC_U_N_MESSAGES 0x3B
#define TABLE_ID_DSM_CC_DOWNLOAD_DATA_MESSAGES 0x3C
#define TABLE_ID_DSM_CC_STREAM_DESCRIPTORS 0x3D
#define TABLE_ID_DSM_CC_PRIVATE_DATA 0x3E
#define TABLE_ID_DSM_CC_ADDRESSABLE_SECTIONS 0x3F
/* EN 300 468 (DVB) v 1.12.1 */
#define TABLE_ID_NETWORK_INFORMATION_ACTUAL_NETWORK 0x40
#define TABLE_ID_NETWORK_INFORMATION_OTHER_NETWORK 0x41
#define TABLE_ID_SERVICE_DESCRIPTION_ACTUAL_TS 0x42
#define TABLE_ID_SERVICE_DESCRIPTION_OTHER_TS 0x46
#define TABLE_ID_BOUQUET_ASSOCIATION 0x4A
#define TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_PRESENT 0x4E
#define TABLE_ID_EVENT_INFORMATION_OTHER_TS_PRESENT 0x4F
#define TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_1 0x50 /* First */
#define TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_N 0x5F /* Last */
#define TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_1 0x60 /* First */
#define TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_N 0x6F /* Last */
#define TABLE_ID_TIME_DATE 0x70
#define TABLE_ID_RUNNING_STATUS 0x71
#define TABLE_ID_STUFFING 0x72
#define TABLE_ID_TIME_OFFSET 0x73
/* TS 102 812 (MHP v1.1.3) */
#define TABLE_ID_APPLICATION_INFORMATION_TABLE 0x74
/* TS 102 323 (DVB TV Anytime v1.5.1) */
#define TABLE_ID_CONTAINER 0x75
#define TABLE_ID_RELATED_CONTENT 0x76
#define TABLE_ID_CONTENT_IDENTIFIER 0x77
/* EN 301 192 (DVB specification for data broadcasting) */
#define TABLE_ID_MPE_FEC 0x78
/* TS 102 323 (DVB TV Anytime v1.5.1) */
#define TABLE_ID_RESOLUTION_NOTIFICATION 0x79
/* TS 102 772 (DVB-SH Multi-Protocol Encapsulation) */
#define TABLE_ID_MPE_IFEC 0x7A
/* EN 300 468 (DVB) v 1.12.1 */
#define TABLE_ID_DISCONTINUITY_INFORMATION 0x7E
#define TABLE_ID_SELECTION_INFORMATION 0x7F
/* ETR 289 (DVB Support for use of scrambling and CA) */
#define TABLE_ID_CA_MESSAGE_ECM_0 0x80
#define TABLE_ID_CA_MESSAGE_ECM_1 0x81
#define TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_1 0x82 /* First */
#define TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_N 0x8F /* Last */
/* ... */
/* EN 301 790 (DVB interaction channel for satellite distribution channels) */
#define TABLE_ID_SCT 0xA0
#define TABLE_ID_FCT 0xA1
#define TABLE_ID_TCT 0xA2
#define TABLE_ID_SPT 0xA3
#define TABLE_ID_CMT 0xA4
#define TABLE_ID_TBTP 0xA5
#define TABLE_ID_PCR_PACKET_PAYLOAD 0xA6
#define TABLE_ID_TRANSMISSION_MODE_SUPPORT_PAYLOAD 0xAA
#define TABLE_ID_TIM 0xB0
#define TABLE_ID_LL_FEC_PARITY_DATA_TABLE 0xB1
/* ATSC (FILLME) */
/* ISDB (FILLME) */
/* Unset */
#define TABLE_ID_UNSET 0xFF
#define CLOCK_BASE 9LL
#define CLOCK_FREQ (CLOCK_BASE * 10000)

View file

@ -48,7 +48,6 @@
/* latency in mseconds */
#define TS_LATENCY 700
#define TABLE_ID_UNSET 0xFF
#define RUNNING_STATUS_RUNNING 4
GST_DEBUG_CATEGORY_STATIC (mpegts_base_debug);
@ -1093,7 +1092,7 @@ mpegts_base_handle_psi (MpegTSBase * base, MpegTSPacketizerSection * section)
section->pid, section->table_id);
switch (section->table_id) {
case 0x00:
case TABLE_ID_PROGRAM_ASSOCIATION:
/* PAT */
structure = mpegts_packetizer_parse_pat (base->packetizer, section);
if (G_LIKELY (structure)) {
@ -1109,7 +1108,7 @@ mpegts_base_handle_psi (MpegTSBase * base, MpegTSPacketizerSection * section)
res = FALSE;
break;
case 0x01:
case TABLE_ID_CONDITIONAL_ACCESS:
/* CAT */
structure = mpegts_packetizer_parse_cat (base->packetizer, section);
if (structure)
@ -1117,7 +1116,7 @@ mpegts_base_handle_psi (MpegTSBase * base, MpegTSPacketizerSection * section)
else
res = FALSE;
break;
case 0x02:
case TABLE_ID_TS_PROGRAM_MAP:
/* PMT */
structure = mpegts_packetizer_parse_pmt (base->packetizer, section);
if (G_LIKELY (structure))
@ -1126,9 +1125,9 @@ mpegts_base_handle_psi (MpegTSBase * base, MpegTSPacketizerSection * section)
res = FALSE;
break;
case 0x40:
case TABLE_ID_NETWORK_INFORMATION_ACTUAL_NETWORK:
/* NIT, actual network */
case 0x41:
case TABLE_ID_NETWORK_INFORMATION_OTHER_NETWORK:
/* NIT, other network */
structure = mpegts_packetizer_parse_nit (base->packetizer, section);
if (G_LIKELY (structure))
@ -1137,8 +1136,8 @@ mpegts_base_handle_psi (MpegTSBase * base, MpegTSPacketizerSection * section)
res = FALSE;
break;
case 0x42:
case 0x46:
case TABLE_ID_SERVICE_DESCRIPTION_ACTUAL_TS:
case TABLE_ID_SERVICE_DESCRIPTION_OTHER_TS:
structure = mpegts_packetizer_parse_sdt (base->packetizer, section);
if (G_LIKELY (structure))
mpegts_base_apply_sdt (base, section->pid, structure);
@ -1187,7 +1186,7 @@ mpegts_base_handle_psi (MpegTSBase * base, MpegTSPacketizerSection * section)
else
res = FALSE;
break;
case 0x70:
case TABLE_ID_TIME_DATE:
/* TDT (Time and Date table) */
structure = mpegts_packetizer_parse_tdt (base->packetizer, section);
if (G_LIKELY (structure))