Top | ![]() |
![]() |
![]() |
![]() |
#define | GST_MPEGTS_SECTION_TYPE() |
GstMessage * | gst_message_new_mpegts_section () |
GstMpegTsSection * | gst_message_parse_mpegts_section () |
GstMpegTsSection * | gst_mpegts_section_new () |
#define | gst_mpegts_section_ref() |
#define | gst_mpegts_section_unref() |
GPtrArray * | gst_mpegts_section_get_pat () |
const GstMpegTsPMT * | gst_mpegts_section_get_pmt () |
GPtrArray * | gst_mpegts_section_get_tsdt () |
GPtrArray * | gst_mpegts_section_get_cat () |
struct | GstMpegTsSection |
enum | GstMpegTsSectionTableID |
enum | GstMpegTsSectionType |
struct | GstMpegTsPatProgram |
struct | GstMpegTsPMT |
struct | GstMpegTsPMTStream |
enum | GstMpegTsStreamType |
GBoxed ╰── GstMpegTsSection GEnum ├── GstMpegTsSectionTableID ├── GstMpegTsSectionType ╰── GstMpegTsStreamType
For more details, refer to the ITU H.222.0 or ISO/IEC 13818-1 specifications and other specifications mentionned in the documentation.
#define GST_MPEGTS_SECTION_TYPE(section) (GST_MPEGTS_SECTION (section)->section_type)
GstMessage * gst_message_new_mpegts_section (GstObject *parent
,GstMpegTsSection *section
);
Creates a new GstMessage for a GstMpegTsSection
.
parent |
The creator of the message. |
[transfer none] |
section |
The GstMpegTsSection to put in a message. |
[transfer none] |
GstMpegTsSection *
gst_message_parse_mpegts_section (GstMessage *message
);
Returns the GstMpegTsSection contained in a message.
GstMpegTsSection * gst_mpegts_section_new (guint16 pid
,guint8 *data
,gsize data_size
);
Creates a new GstMpegTsSection from the provided data
.
Note: Ensuring data
is big enough to contain the full section is the
responsibility of the caller. If it is not big enough, NULL
will be
returned.
Note: it is the responsibility of the caller to ensure data
does point
to the beginning of the section.
#define gst_mpegts_section_ref(section) ((GstMpegTsSection*) gst_mini_object_ref (GST_MINI_OBJECT_CAST (section)))
#define gst_mpegts_section_unref(section) (gst_mini_object_unref (GST_MINI_OBJECT_CAST (section)))
GPtrArray *
gst_mpegts_section_get_pat (GstMpegTsSection *section
);
Parses a Program Association Table (ITU H.222.0, ISO/IEC 13818-1).
Returns the array of GstMpegTsPatProgram contained in the section.
Note: The PAT "transport_id" field corresponds to the "subtable_extension"
field of the provided section
.
The
GstMpegTsPatProgram contained in the section, or NULL
if an error
happened. Release with g_ptr_array_unref when done.
[transfer container][element-type GstMpegTsPatProgram]
const GstMpegTsPMT *
gst_mpegts_section_get_pmt (GstMpegTsSection *section
);
Returns the GstMpegTsPMT contained in the section
.
GPtrArray *
gst_mpegts_section_get_tsdt (GstMpegTsSection *section
);
Returns the array of GstMpegTsDescriptor contained in the section
The
GstMpegTsDescriptor contained in the section, or NULL
if an error
happened. Release with g_array_unref when done.
[transfer container][element-type GstMpegTsDescriptor]
GPtrArray *
gst_mpegts_section_get_cat (GstMpegTsSection *section
);
Returns the array of GstMpegTsDescriptor contained in the Condtional Access Table.
The
GstMpegTsDescriptor contained in the section, or NULL
if an error
happened. Release with g_array_unref when done.
[transfer container][element-type GstMpegTsDescriptor]
struct GstMpegTsSection { GstMpegTsSectionType section_type; guint16 pid; guint8 table_id; guint16 subtable_extension; guint8 version_number; gboolean current_next_indicator; guint8 section_number; guint8 last_section_number; guint32 crc; };
Mpeg-TS Section Information (SI) (ISO/IEC 13818-1)
GstMpegTsSectionType |
The type of section |
|
The pid on which this section was found |
||
The table id of this section |
||
This meaning differs per section. See the documentation of the parsed section type for the meaning of this field |
||
Version of the section. |
||
gboolean |
Applies to current/next stream or not |
|
Number of the section (if multiple) |
||
Number of the last expected section (if multiple) |
||
CRC |
Values for a GstMpegTsSection table_id
These are the registered ITU H.222.0 | ISO/IEC 13818-1 table_id variants.
see also GstMpegTsSectionATSCTableID and GstMpegTsSectionDVBTableID.
Types of GstMpegTsSection that the library handles.
Unknown section type |
||
Program Association Table (ISO/IEC 13818-1) |
||
Program Map Table (ISO/IEC 13818-1) |
||
Conditional Access Table (ISO/IEC 13818-1) |
||
Transport Stream Description Table (ISO/IEC 13818-1) |
||
Event Information Table (EN 300 468) |
||
Network Information Table (ISO/IEC 13818-1 / EN 300 468) |
||
Bouquet Association Table ((EN 300 468) |
||
Service Description Table (EN 300 468) |
||
Time and Date Table (EN 300 468) |
||
Time Offset Table (EN 300 468) |
struct GstMpegTsPatProgram { guint16 program_number; guint16 network_or_program_map_PID; };
A program entry from a Program Association Table (ITU H.222.0, ISO/IEC 13818-1).
struct GstMpegTsPMT { guint16 pcr_pid; GPtrArray *descriptors; GPtrArray *streams; };
Program Map Table (ISO/IEC 13818-1).
The program_number is contained in the subtable_extension field of the container GstMpegTsSection.
PID of the stream containing PCR |
||
GPtrArray * |
array of GstMpegTsDescriptor. |
[element-type GstMpegTsDescriptor] |
GPtrArray * |
Array of GstMpegTsPMTStream. |
[element-type GstMpegTsPMTStream] |
struct GstMpegTsPMTStream { guint8 stream_type; guint16 pid; GPtrArray *descriptors; };
An individual stream definition.
the type of stream. See GstMpegTsStreamType |
||
the PID of the stream |
||
GPtrArray * |
the descriptors of the stream. |
[element-type GstMpegTsDescriptor] |
Type of mpeg-ts stream type.
These values correspond to the base standard registered types. Depending on the variant of mpeg-ts being used (Bluray, ATSC, DVB, ...), other types might also be used, but will not conflict with these.
Corresponds to table 2-34 of ITU H.222.0 | ISO/IEC 13818-1
ITU-T | ISO/IEC Reserved |
||
ISO/IEC 11172-2 Video |
||
Rec. ITU-T H.262 | ISO/IEC 13818-2 Video or ISO/IEC 11172-2 constrained parameter video stream |
||
ISO/IEC 11172-3 Audio |
||
ISO/IEC 13818-3 Audio |
||
private sections |
||
PES packets containing private data |
||
ISO/IEC 13522 MHEG |
||
Annex A DSM-CC |
||
Rec. ITU-T 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 |
||
auxiliary streams |
||
ISO/IEC 13818-7 Audio with ADTS transport syntax |
||
ISO/IEC 14496-2 Visual |
||
ISO/IEC 14496-3 Audio with the LATM transport syntax as defined in ISO/IEC 14496-3 |
||
ISO/IEC 14496-1 SL-packetized stream or FlexMux stream carried in PES packets |
||
ISO/IEC 14496-1 SL-packetized stream or FlexMux stream carried in ISO/IEC 14496_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 |
||
IPMP stream (defined in ISO/IEC 13818-11, MPEG-2 IPMP) |
||
AVC video stream conforming to one or more profiles defined in Annex A of Rec. ITU-T H.264 | ISO/IEC 14496-10 or AVC video sub-bitstream of SVC as defined in 2.1.78 or MVC base view sub-bitstream, as defined in 2.1.85, or AVC video sub-bitstream of MVC, as defined in 2.1.88 |
||
ISO/IEC 14496-3 Audio, without using any additional transport syntax, such as DST, ALS and SLS |
||
ISO/IEC 14496-17 Text |
||
Auxiliary video stream as defined in ISO/IEC 23002-3 |
||
SVC video sub-bitstream of an AVC video stream conforming to one or more profiles defined in Annex G of Rec. ITU-T H.264 | ISO/IEC 14496-10 |
||
MVC video sub-bitstream of an AVC video stream conforming to one or more profiles defined in Annex H of Rec. ITU-T H.264 | ISO/IEC 14496-10 |
||
Video stream conforming to one or more profiles as defined in Rec. ITU-T T.800 | ISO/IEC 15444-1 |
||
Additional view Rec. ITU-T H.262 | ISO/IEC 13818-2 video stream for service-compatible stereoscopic 3D services |
||
Additional view Rec. ITU-T H.264 | ISO/IEC 14496-10 video stream conforming to one or more profiles defined in Annex A for service-compatible stereoscopic 3D services |
||
IPMP stream |