mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
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:
parent
0e86e68c6a
commit
25f6c78d79
2 changed files with 81 additions and 10 deletions
|
@ -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)
|
||||
|
||||
|
|
|
@ -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))
|
||||
|
|
Loading…
Reference in a new issue