Base MPEG-TS sections

Base MPEG-TS sections — Sections for ITU H.222.0 | ISO/IEC 13818-1

Synopsis

#include <gst/mpegts/mpegts.h>

#define             GST_MPEGTS_SECTION_TYPE             (section)
struct              GstMpegtsSection;
enum                GstMpegtsSectionTableID;
enum                GstMpegtsSectionType;
GstMessage *        gst_message_new_mpegts_section      (GstObject *parent,
                                                         GstMpegtsSection *section);
GstMpegtsSection *  gst_message_parse_mpegts_section    (GstMessage *message);
gboolean            gst_mpegts_section_send_event       (GstMpegtsSection *section,
                                                         GstElement *element);
GstMpegtsSection *  gst_event_parse_mpegts_section      (GstEvent *event);
guint8 *            gst_mpegts_section_packetize        (GstMpegtsSection *section,
                                                         gsize *output_size);
GstMpegtsSection *  gst_mpegts_section_new              (guint16 pid,
                                                         guint8 *data,
                                                         gsize data_size);
#define             gst_mpegts_section_ref              (section)
#define             gst_mpegts_section_unref            (section)

struct              GstMpegtsPatProgram;
GPtrArray *         gst_mpegts_section_get_pat          (GstMpegtsSection *section);
GPtrArray *         gst_mpegts_pat_new                  (void);
GstMpegtsPatProgram * gst_mpegts_pat_program_new        (void);
GstMpegtsSection *  gst_mpegts_section_from_pat         (GPtrArray *programs,
                                                         guint16 ts_id);

struct              GstMpegtsPMT;
struct              GstMpegtsPMTStream;
enum                GstMpegtsStreamType;
const GstMpegtsPMT * gst_mpegts_section_get_pmt         (GstMpegtsSection *section);
GstMpegtsPMT *      gst_mpegts_pmt_new                  (void);
GstMpegtsPMTStream * gst_mpegts_pmt_stream_new          (void);
GstMpegtsSection *  gst_mpegts_section_from_pmt         (GstMpegtsPMT *pmt,
                                                         guint16 pid);

GPtrArray *         gst_mpegts_section_get_tsdt         (GstMpegtsSection *section);

GPtrArray *         gst_mpegts_section_get_cat          (GstMpegtsSection *section);

Object Hierarchy

  GBoxed
   +----GstMpegtsSection
  GEnum
   +----GstMpegtsSectionTableID
  GEnum
   +----GstMpegtsSectionType
  GEnum
   +----GstMpegtsStreamType

Description

For more details, refer to the ITU H.222.0 or ISO/IEC 13818-1 specifications and other specifications mentionned in the documentation.

Details

GST_MPEGTS_SECTION_TYPE()

#define GST_MPEGTS_SECTION_TYPE(section) (GST_MPEGTS_SECTION (section)->section_type)

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)

GstMpegtsSectionType section_type;

The type of section

guint16 pid;

The pid on which this section was found

guint8 table_id;

The table id of this section

guint16 subtable_extension;

This meaning differs per section. See the documentation of the parsed section type for the meaning of this field

guint8 version_number;

Version of the section.

gboolean current_next_indicator;

Applies to current/next stream or not

guint8 section_number;

Number of the section (if multiple)

guint8 last_section_number;

Number of the last expected section (if multiple)

guint32 crc;

CRC

enum GstMpegtsSectionTableID

typedef enum {
  /* ITU H.222.0 / IEC 13818-1 */
  GST_MTS_TABLE_ID_PROGRAM_ASSOCIATION		= 0x00,
  GST_MTS_TABLE_ID_CONDITIONAL_ACCESS		= 0x01,
  GST_MTS_TABLE_ID_TS_PROGRAM_MAP		= 0x02,
  GST_MTS_TABLE_ID_TS_DESCRIPTION		= 0x03,
  GST_MTS_TABLE_ID_14496_SCENE_DESCRIPTION = 0x04,
  GST_MTS_TABLE_ID_14496_OBJET_DESCRIPTOR = 0x05,
  GST_MTS_TABLE_ID_METADATA			= 0x06,
  GST_MTS_TABLE_ID_IPMP_CONTROL_INFORMATION = 0x07,

  /* 0x08 - 0x39 : ITU H.222.0 | ISO/IEC 13818-1 reserved */

  /* IEC 13818-6 (DSM-CC) */
  GST_MTS_TABLE_ID_DSM_CC_MULTIPROTO_ENCAPSULATED_DATA = 0x3A,
  GST_MTS_TABLE_ID_DSM_CC_U_N_MESSAGES			= 0x3B,
  GST_MTS_TABLE_ID_DSM_CC_DOWNLOAD_DATA_MESSAGES = 0x3C,
  GST_MTS_TABLE_ID_DSM_CC_STREAM_DESCRIPTORS		= 0x3D,
  GST_MTS_TABLE_ID_DSM_CC_PRIVATE_DATA			= 0x3E,
  GST_MTS_TABLE_ID_DSM_CC_ADDRESSABLE_SECTIONS		= 0x3F,

  /* Unset */
  GST_MTS_TABLE_ID_UNSET = 0xFF
} 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

GST_MTS_TABLE_ID_PROGRAM_ASSOCIATION

GST_MTS_TABLE_ID_CONDITIONAL_ACCESS

GST_MTS_TABLE_ID_TS_PROGRAM_MAP

GST_MTS_TABLE_ID_TS_DESCRIPTION

GST_MTS_TABLE_ID_14496_SCENE_DESCRIPTION

GST_MTS_TABLE_ID_14496_OBJET_DESCRIPTOR

GST_MTS_TABLE_ID_METADATA

GST_MTS_TABLE_ID_IPMP_CONTROL_INFORMATION

GST_MTS_TABLE_ID_DSM_CC_MULTIPROTO_ENCAPSULATED_DATA

GST_MTS_TABLE_ID_DSM_CC_U_N_MESSAGES

GST_MTS_TABLE_ID_DSM_CC_DOWNLOAD_DATA_MESSAGES

GST_MTS_TABLE_ID_DSM_CC_STREAM_DESCRIPTORS

GST_MTS_TABLE_ID_DSM_CC_PRIVATE_DATA

GST_MTS_TABLE_ID_DSM_CC_ADDRESSABLE_SECTIONS

GST_MTS_TABLE_ID_UNSET


enum GstMpegtsSectionType

typedef enum {
  GST_MPEGTS_SECTION_UNKNOWN           = 0,
  GST_MPEGTS_SECTION_PAT, 
  GST_MPEGTS_SECTION_PMT, 
  GST_MPEGTS_SECTION_CAT, 
  GST_MPEGTS_SECTION_TSDT,
  GST_MPEGTS_SECTION_EIT, 
  GST_MPEGTS_SECTION_NIT, 
  GST_MPEGTS_SECTION_BAT, 
  GST_MPEGTS_SECTION_SDT, 
  GST_MPEGTS_SECTION_TDT, 
  GST_MPEGTS_SECTION_TOT,
  GST_MPEGTS_SECTION_ATSC_TVCT,
  GST_MPEGTS_SECTION_ATSC_CVCT,
  GST_MPEGTS_SECTION_ATSC_MGT,
  GST_MPEGTS_SECTION_ATSC_ETT,
  GST_MPEGTS_SECTION_ATSC_EIT,
  GST_MPEGTS_SECTION_ATSC_STT
} GstMpegtsSectionType;

Types of GstMpegtsSection that the library handles.

GST_MPEGTS_SECTION_UNKNOWN

Unknown section type

GST_MPEGTS_SECTION_PAT

Program Association Table (ISO/IEC 13818-1)

GST_MPEGTS_SECTION_PMT

Program Map Table (ISO/IEC 13818-1)

GST_MPEGTS_SECTION_CAT

Conditional Access Table (ISO/IEC 13818-1)

GST_MPEGTS_SECTION_TSDT

Transport Stream Description Table (ISO/IEC 13818-1)

GST_MPEGTS_SECTION_EIT

Event Information Table (EN 300 468)

GST_MPEGTS_SECTION_NIT

Network Information Table (ISO/IEC 13818-1 / EN 300 468)

GST_MPEGTS_SECTION_BAT

Bouquet Association Table ((EN 300 468)

GST_MPEGTS_SECTION_SDT

Service Description Table (EN 300 468)

GST_MPEGTS_SECTION_TDT

Time and Date Table (EN 300 468)

GST_MPEGTS_SECTION_TOT

Time Offset Table (EN 300 468)

GST_MPEGTS_SECTION_ATSC_TVCT

ATSC Terrestrial Virtual Channel Table (A65)

GST_MPEGTS_SECTION_ATSC_CVCT

ATSC Cable Virtual Channel Table (A65)

GST_MPEGTS_SECTION_ATSC_MGT

ATSC Master Guide Table (A65)

GST_MPEGTS_SECTION_ATSC_ETT

ATSC Extended Text Table (A65)

GST_MPEGTS_SECTION_ATSC_EIT

ATSC Event Information Table (A65)

GST_MPEGTS_SECTION_ATSC_STT

ATSC System Time Table (A65)

gst_message_new_mpegts_section ()

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]

Returns :

The new GstMessage to be posted, or NULL if the section is not valid. [transfer full]

gst_message_parse_mpegts_section ()

GstMpegtsSection *  gst_message_parse_mpegts_section    (GstMessage *message);

Returns the GstMpegtsSection contained in a message.

message :

a GstMessage

Returns :

the contained GstMpegtsSection, or NULL. [transfer full]

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.

element :

The GstElement to send to section event to. [transfer none]

section :

The GstMpegtsSection to put in the event. [transfer none]

Returns :

TRUE if the event is sent

gst_event_parse_mpegts_section ()

GstMpegtsSection *  gst_event_parse_mpegts_section      (GstEvent *event);

Extracts the GstMpegtsSection contained in the event GstEvent

event :

GstEvent containing a GstMpegtsSection. [transfer none]

Returns :

The extracted GstMpegtsSection. [transfer full]

gst_mpegts_section_packetize ()

guint8 *            gst_mpegts_section_packetize        (GstMpegtsSection *section,
                                                         gsize *output_size);

If the data in section has aldready been packetized, the data pointer is returned immediately. Otherwise, the data field is allocated and populated.

section :

the GstMpegtsSection that holds the data. [transfer none]

output_size :

gsize to hold the size of the data. [out]

Returns :

pointer to section data, or NULL on fail. [transfer none]

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.

pid :

the PID to which this section belongs

data :

a pointer to the beginning of the section (i.e. the first byte should contain the table_id field). [transfer full]

data_size :

size of the data argument.

Returns :

A new GstMpegtsSection if the data was valid, else NULL. [transfer full]

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)))

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).

guint16 program_number;

the program number

guint16 network_or_program_map_PID;

the network of program map PID

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.

section :

a GstMpegtsSection of type GST_MPEGTS_SECTION_PAT

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

Returns :

A newly allocated GPtrArray. [transfer full][element-type GstMpegtsPatProgram]

gst_mpegts_pat_program_new ()

GstMpegtsPatProgram * gst_mpegts_pat_program_new        (void);

Allocates a new GstMpegtsPatProgram.

Returns :

A newly allocated GstMpegtsPatProgram. [transfer full]

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

programs :

an array of GstMpegtsPatProgram. [transfer full][element-type GstMpegtsPatProgram]

ts_id :

Transport stream ID of the PAT

Returns :

a GstMpegtsSection. [transfer full]

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.

guint16 pcr_pid;

PID of the stream containing PCR

guint16 program_number;

GPtrArray *descriptors;

array of GstMpegtsDescriptor. [element-type GstMpegtsDescriptor]

GPtrArray *streams;

Array of GstMpegtsPMTStream. [element-type GstMpegtsPMTStream]

struct GstMpegtsPMTStream

struct GstMpegtsPMTStream {
  guint8      stream_type;
  guint16     pid;

  GPtrArray  *descriptors;
};

An individual stream definition.

guint8 stream_type;

the type of stream. See GstMpegtsStreamType

guint16 pid;

the PID of the stream

GPtrArray *descriptors;

the descriptors of the stream. [element-type GstMpegtsDescriptor]

enum GstMpegtsStreamType

typedef enum {
  GST_MPEGTS_STREAM_TYPE_RESERVED_00                  = 0x00,
  GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG1                  = 0x01,
  GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2                  = 0x02,
  GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG1                  = 0x03,
  GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG2                  = 0x04,
  GST_MPEGTS_STREAM_TYPE_PRIVATE_SECTIONS             = 0x05,
  GST_MPEGTS_STREAM_TYPE_PRIVATE_PES_PACKETS          = 0x06,
  GST_MPEGTS_STREAM_TYPE_MHEG                         = 0x07,
  GST_MPEGTS_STREAM_TYPE_DSM_CC                       = 0x08,
  GST_MPEGTS_STREAM_TYPE_H_222_1                      = 0x09,
  GST_MPEGTS_STREAM_TYPE_DSMCC_A                      = 0x0a,
  GST_MPEGTS_STREAM_TYPE_DSMCC_B                      = 0x0b,
  GST_MPEGTS_STREAM_TYPE_DSMCC_C                      = 0x0c,
  GST_MPEGTS_STREAM_TYPE_DSMCC_D                      = 0x0d,
  GST_MPEGTS_STREAM_TYPE_AUXILIARY                    = 0x0e,
  GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_ADTS               = 0x0f,
  GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG4                  = 0x10,
  GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_LATM               = 0x11,
  GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_PES_PACKETS       = 0x12,
  GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS          = 0x13,
  GST_MPEGTS_STREAM_TYPE_SYNCHRONIZED_DOWNLOAD        = 0x14,
  GST_MPEGTS_STREAM_TYPE_METADATA_PES_PACKETS         = 0x15,
  GST_MPEGTS_STREAM_TYPE_METADATA_SECTIONS            = 0x16,
  GST_MPEGTS_STREAM_TYPE_METADATA_DATA_CAROUSEL       = 0x17,
  GST_MPEGTS_STREAM_TYPE_METADATA_OBJECT_CAROUSEL     = 0x18,
  GST_MPEGTS_STREAM_TYPE_METADATA_SYNCHRONIZED_DOWNLOAD  = 0x19,
  GST_MPEGTS_STREAM_TYPE_MPEG2_IPMP                   = 0x1a,
  GST_MPEGTS_STREAM_TYPE_VIDEO_H264                   = 0x1b,
  GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_CLEAN              = 0x1c,
  GST_MPEGTS_STREAM_TYPE_MPEG4_TIMED_TEXT             = 0x1d,
  GST_MPEGTS_STREAM_TYPE_VIDEO_RVC                    = 0x1e,
  GST_MPEGTS_STREAM_TYPE_VIDEO_H264_SVC_SUB_BITSTREAM = 0x1f,
  GST_MPEGTS_STREAM_TYPE_VIDEO_H264_MVC_SUB_BITSTREAM = 0x20,
  GST_MPEGTS_STREAM_TYPE_VIDEO_JP2K                   = 0x21,
  GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW = 0x22,
  GST_MPEGTS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW  = 0x23,
  GST_MPEGTS_STREAM_TYPE_VIDEO_HEVC                   = 0x24,
  /* 0x24 - 0x7e : Rec. ITU-T H.222.0 | ISO/IEC 13818-1 Reserved */
  GST_MPEGTS_STREAM_TYPE_IPMP_STREAM                  = 0x7f
  /* 0x80 - 0xff : User Private (or defined in other specs) */
} 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

GST_MPEGTS_STREAM_TYPE_RESERVED_00

ITU-T | ISO/IEC Reserved

GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG1

ISO/IEC 11172-2 Video

GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2

Rec. ITU-T H.262 | ISO/IEC 13818-2 Video or ISO/IEC 11172-2 constrained parameter video stream

GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG1

ISO/IEC 11172-3 Audio

GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG2

ISO/IEC 13818-3 Audio

GST_MPEGTS_STREAM_TYPE_PRIVATE_SECTIONS

private sections

GST_MPEGTS_STREAM_TYPE_PRIVATE_PES_PACKETS

PES packets containing private data

GST_MPEGTS_STREAM_TYPE_MHEG

ISO/IEC 13522 MHEG

GST_MPEGTS_STREAM_TYPE_DSM_CC

Annex A DSM-CC

GST_MPEGTS_STREAM_TYPE_H_222_1

Rec. ITU-T H.222.1

GST_MPEGTS_STREAM_TYPE_DSMCC_A

ISO/IEC 13818-6 type A

GST_MPEGTS_STREAM_TYPE_DSMCC_B

ISO/IEC 13818-6 type B

GST_MPEGTS_STREAM_TYPE_DSMCC_C

ISO/IEC 13818-6 type C

GST_MPEGTS_STREAM_TYPE_DSMCC_D

ISO/IEC 13818-6 type D

GST_MPEGTS_STREAM_TYPE_AUXILIARY

auxiliary streams

GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_ADTS

ISO/IEC 13818-7 Audio with ADTS transport syntax

GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG4

ISO/IEC 14496-2 Visual

GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_LATM

ISO/IEC 14496-3 Audio with the LATM transport syntax as defined in ISO/IEC 14496-3

GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_PES_PACKETS

ISO/IEC 14496-1 SL-packetized stream or FlexMux stream carried in PES packets

GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS

ISO/IEC 14496-1 SL-packetized stream or FlexMux stream carried in ISO/IEC 14496_sections

GST_MPEGTS_STREAM_TYPE_SYNCHRONIZED_DOWNLOAD

ISO/IEC 13818-6 Synchronized Download Protocol

GST_MPEGTS_STREAM_TYPE_METADATA_PES_PACKETS

Metadata carried in PES packets

GST_MPEGTS_STREAM_TYPE_METADATA_SECTIONS

Metadata carried in metadata_sections

GST_MPEGTS_STREAM_TYPE_METADATA_DATA_CAROUSEL

Metadata carried in ISO/IEC 13818-6 Data Carousel

GST_MPEGTS_STREAM_TYPE_METADATA_OBJECT_CAROUSEL

Metadata carried in ISO/IEC 13818-6 Object Carousel

GST_MPEGTS_STREAM_TYPE_METADATA_SYNCHRONIZED_DOWNLOAD

Metadata carried in ISO/IEC 13818-6 Synchronized Download Protocol

GST_MPEGTS_STREAM_TYPE_MPEG2_IPMP

IPMP stream (defined in ISO/IEC 13818-11, MPEG-2 IPMP)

GST_MPEGTS_STREAM_TYPE_VIDEO_H264

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

GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_CLEAN

ISO/IEC 14496-3 Audio, without using any additional transport syntax, such as DST, ALS and SLS

GST_MPEGTS_STREAM_TYPE_MPEG4_TIMED_TEXT

ISO/IEC 14496-17 Text

GST_MPEGTS_STREAM_TYPE_VIDEO_RVC

Auxiliary video stream as defined in ISO/IEC 23002-3

GST_MPEGTS_STREAM_TYPE_VIDEO_H264_SVC_SUB_BITSTREAM

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

GST_MPEGTS_STREAM_TYPE_VIDEO_H264_MVC_SUB_BITSTREAM

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

GST_MPEGTS_STREAM_TYPE_VIDEO_JP2K

Video stream conforming to one or more profiles as defined in Rec. ITU-T T.800 | ISO/IEC 15444-1

GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW

Additional view Rec. ITU-T H.262 | ISO/IEC 13818-2 video stream for service-compatible stereoscopic 3D services

GST_MPEGTS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW

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

GST_MPEGTS_STREAM_TYPE_VIDEO_HEVC

GST_MPEGTS_STREAM_TYPE_IPMP_STREAM

IPMP stream

gst_mpegts_section_get_pmt ()

const GstMpegtsPMT * gst_mpegts_section_get_pmt         (GstMpegtsSection *section);

Returns the GstMpegtsPMT contained in the section.

section :

a GstMpegtsSection of type GST_MPEGTS_SECTION_PMT

Returns :

The GstMpegtsPMT contained in the section, or NULL if an error happened.

gst_mpegts_pmt_new ()

GstMpegtsPMT *      gst_mpegts_pmt_new                  (void);

Allocates and initializes a new GstMpegtsPMT.

Returns :

GstMpegtsPMT. [transfer full]

gst_mpegts_pmt_stream_new ()

GstMpegtsPMTStream * gst_mpegts_pmt_stream_new          (void);

Allocates and initializes a new GstMpegtsPMTStream.

Returns :

GstMpegtsPMTStream. [transfer full]

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

pmt :

a GstMpegtsPMT to create a GstMpegtsSection from. [transfer full]

pid :

The PID that the GstMpegtsPMT belongs to

Returns :

GstMpegtsSection. [transfer full]

gst_mpegts_section_get_tsdt ()

GPtrArray *         gst_mpegts_section_get_tsdt         (GstMpegtsSection *section);

Returns the array of GstMpegtsDescriptor contained in the section

section :

a GstMpegtsSection of type GST_MPEGTS_SECTION_TSDT

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 Condtional Access Table.

section :

a GstMpegtsSection of type GST_MPEGTS_SECTION_CAT

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]