Top |
Functions
Types and Values
struct | GstMpegtsSection |
enum | GstMpegtsSectionTableID |
enum | GstMpegtsSectionType |
struct | GstMpegtsPatProgram |
struct | GstMpegtsPMT |
struct | GstMpegtsPMTStream |
enum | GstMpegtsStreamType |
Object Hierarchy
GBoxed ╰── GstMpegtsSection GEnum ├── GstMpegtsSectionTableID ├── GstMpegtsSectionType ╰── GstMpegtsStreamType
Description
For more details, refer to the ITU H.222.0 or ISO/IEC 13818-1 specifications and other specifications mentioned in the documentation.
Functions
GST_MPEGTS_SECTION_TYPE()
#define GST_MPEGTS_SECTION_TYPE(section) (GST_MPEGTS_SECTION (section)->section_type)
gst_message_new_mpegts_section ()
GstMessage * gst_message_new_mpegts_section (GstObject *parent
,GstMpegtsSection *section
);
Creates a new GstMessage for a GstMpegtsSection
.
Parameters
parent |
The creator of the message. |
[transfer none] |
section |
The GstMpegtsSection to put in a message. |
[transfer none] |
gst_message_parse_mpegts_section ()
GstMpegtsSection *
gst_message_parse_mpegts_section (GstMessage *message
);
Returns the GstMpegtsSection contained in a message.
gst_mpegts_section_send_event ()
gboolean gst_mpegts_section_send_event (GstMpegtsSection *section
,GstElement *element
);
Creates a custom GstEvent with a GstMpegtsSection
.
The GstEvent is sent to the element
GstElement.
Parameters
element |
The GstElement to send to section event to. |
[transfer none] |
section |
The GstMpegtsSection to put in the event. |
[transfer none] |
gst_event_parse_mpegts_section ()
GstMpegtsSection *
gst_event_parse_mpegts_section (GstEvent *event
);
Extracts the GstMpegtsSection contained in the event
GstEvent
gst_mpegts_section_packetize ()
guint8 * gst_mpegts_section_packetize (GstMpegtsSection *section
,gsize *output_size
);
If the data in section
has already been packetized, the data pointer is returned
immediately. Otherwise, the data field is allocated and populated.
Parameters
section |
the GstMpegtsSection that holds the data. |
[transfer none] |
output_size |
gsize to hold the size of the data. |
[out] |
gst_mpegts_section_new ()
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.
gst_mpegts_section_ref()
#define gst_mpegts_section_ref(section) ((GstMpegtsSection*) gst_mini_object_ref (GST_MINI_OBJECT_CAST (section)))
gst_mpegts_section_unref()
#define gst_mpegts_section_unref(section) (gst_mini_object_unref (GST_MINI_OBJECT_CAST (section)))
gst_mpegts_section_get_pat ()
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
.
Returns
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]
gst_mpegts_pat_new ()
GPtrArray *
gst_mpegts_pat_new (void
);
Allocates a new GPtrArray for GstMpegtsPatProgram
gst_mpegts_pat_program_new ()
GstMpegtsPatProgram *
gst_mpegts_pat_program_new (void
);
Allocates a new GstMpegtsPatProgram.
gst_mpegts_section_from_pat ()
GstMpegtsSection * gst_mpegts_section_from_pat (GPtrArray *programs
,guint16 ts_id
);
Creates a PAT GstMpegtsSection from the programs
array of GstMpegtsPatPrograms
Parameters
programs |
an array of GstMpegtsPatProgram. |
[transfer full][element-type GstMpegtsPatProgram] |
ts_id |
Transport stream ID of the PAT |
gst_mpegts_section_get_pmt ()
const GstMpegtsPMT *
gst_mpegts_section_get_pmt (GstMpegtsSection *section
);
Returns the GstMpegtsPMT contained in the section
.
gst_mpegts_pmt_new ()
GstMpegtsPMT *
gst_mpegts_pmt_new (void
);
Allocates and initializes a new GstMpegtsPMT.
gst_mpegts_pmt_stream_new ()
GstMpegtsPMTStream *
gst_mpegts_pmt_stream_new (void
);
Allocates and initializes a new GstMpegtsPMTStream.
gst_mpegts_section_from_pmt ()
GstMpegtsSection * gst_mpegts_section_from_pmt (GstMpegtsPMT *pmt
,guint16 pid
);
Creates a GstMpegtsSection from pmt
that is bound to pid
Parameters
pmt |
a GstMpegtsPMT to create a GstMpegtsSection from. |
[transfer full] |
pid |
The PID that the GstMpegtsPMT belongs to |
gst_mpegts_section_get_tsdt ()
GPtrArray *
gst_mpegts_section_get_tsdt (GstMpegtsSection *section
);
Returns the array of GstMpegtsDescriptor contained in the section
Returns
The
GstMpegtsDescriptor contained in the section, or NULL
if an error
happened. Release with g_array_unref when done.
[transfer container][element-type GstMpegtsDescriptor]
gst_mpegts_section_get_cat ()
GPtrArray *
gst_mpegts_section_get_cat (GstMpegtsSection *section
);
Returns the array of GstMpegtsDescriptor contained in the Conditional Access Table.
Returns
The
GstMpegtsDescriptor contained in the section, or NULL
if an error
happened. Release with g_array_unref when done.
[transfer container][element-type GstMpegtsDescriptor]
Types and Values
struct GstMpegtsSection
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)
Members
GstMpegtsSectionType |
The type of section |
|
guint16 |
The pid on which this section was found |
|
guint8 |
The table id of this section |
|
guint16 |
This meaning differs per section. See the documentation of the parsed section type for the meaning of this field |
|
guint8 |
Version of the section. |
|
gboolean |
Applies to current/next stream or not |
|
guint8 |
Number of the section (if multiple) |
|
guint8 |
Number of the last expected section (if multiple) |
|
guint32 |
CRC |
enum GstMpegtsSectionTableID
Values for a GstMpegtsSection table_id
These are the registered ITU H.222.0 | ISO/IEC 13818-1 table_id variants.
see also GstMpegtsSectionATSCTableID, GstMpegtsSectionDVBTableID, and GstMpegtsSectionSCTETableID
enum GstMpegtsSectionType
Types of GstMpegtsSection that the library handles.
Members
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) |
||
ATSC Terrestrial Virtual Channel Table (A65) |
||
ATSC Cable Virtual Channel Table (A65) |
||
ATSC Master Guide Table (A65) |
||
ATSC Extended Text Table (A65) |
||
ATSC Event Information Table (A65) |
||
ATSC System Time Table (A65) |
struct GstMpegtsPatProgram
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
struct GstMpegtsPMT { guint16 pcr_pid; guint16 program_number; 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.
Members
guint16 |
PID of the stream containing PCR |
|
guint16 |
||
GPtrArray * |
array of GstMpegtsDescriptor. |
[element-type GstMpegtsDescriptor] |
GPtrArray * |
Array of GstMpegtsPMTStream. |
[element-type GstMpegtsPMTStream] |
struct GstMpegtsPMTStream
struct GstMpegtsPMTStream { guint8 stream_type; guint16 pid; GPtrArray *descriptors; };
An individual stream definition.
Members
guint8 |
the type of stream. See GstMpegtsStreamType |
|
guint16 |
the PID of the stream |
|
GPtrArray * |
the descriptors of the stream. |
[element-type GstMpegtsDescriptor] |
enum GstMpegtsStreamType
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
Members
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 |