## DVB variants of MPEG-TS sections

DVB variants of MPEG-TS sections — Sections for the various DVB specifications

## Functions

const GstMpegtsNIT * | gst_mpegts_section_get_nit ()
GstMpegtsNIT * | gst_mpegts_nit_new ()
GstMpegtsNITStream * | gst_mpegts_nit_stream_new ()
GstMpegtsSection * | gst_mpegts_section_from_nit ()
const GstMpegtsBAT * | gst_mpegts_section_get_bat ()
const GstMpegtsSDT * | gst_mpegts_section_get_sdt ()
GstMpegtsSDT * | gst_mpegts_sdt_new ()
GstMpegtsSDTService * | gst_mpegts_sdt_service_new ()
GstMpegtsSection * | gst_mpegts_section_from_sdt ()
const GstMpegtsEIT * | gst_mpegts_section_get_eit ()
GstDateTime * | gst_mpegts_section_get_tdt ()
const GstMpegtsTOT * | gst_mpegts_section_get_tot ()

## Types and Values

enum | GstMpegtsSectionDVBTableID
struct | GstMpegtsNIT
struct | GstMpegtsNITStream
struct | GstMpegtsBAT
struct | GstMpegtsBATStream
struct | GstMpegtsSDT
struct | GstMpegtsSDTService
struct | GstMpegtsEIT
struct | GstMpegtsEITEvent
enum | GstMpegtsRunningStatus
struct | GstMpegtsTOT

## Object Hierarchy

        GEnum
        ╰── GstMpegtsRunningStatus

## Includes

    #include <gst/mpegts/mpegts.h>

## Description

## Functions

### gst_mpegts_section_get_nit ()

    const GstMpegtsNIT *
    gst_mpegts_section_get_nit (GstMpegtsSection *section);

Returns the GstMpegtsNIT contained in the `section` .

#### Parameters

section | a GstMpegtsSection of type `GST_MPEGTS_SECTION_NIT` |

#### Returns

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

### gst_mpegts_nit_new ()

    GstMpegtsNIT *
    gst_mpegts_nit_new (void);

Allocates and initializes a GstMpegtsNIT.

#### Returns

A newly allocated GstMpegtsNIT.

[transfer full]

### gst_mpegts_nit_stream_new ()

    GstMpegtsNITStream *
    gst_mpegts_nit_stream_new (void);

Allocates and initializes a GstMpegtsNITStream

#### Returns

A newly allocated GstMpegtsNITStream.

[transfer full]

### gst_mpegts_section_from_nit ()

    GstMpegtsSection *
    gst_mpegts_section_from_nit (GstMpegtsNIT *nit);

Ownership of `nit` is taken. The data in `nit` is managed by the GstMpegtsSection

#### Parameters

nit | a GstMpegtsNIT to create the GstMpegtsSection from. | [transfer full]

#### Returns

the GstMpegtsSection.

[transfer full]

### gst_mpegts_section_get_bat ()

    const GstMpegtsBAT *
    gst_mpegts_section_get_bat (GstMpegtsSection *section);

Returns the GstMpegtsBAT contained in the `section` .

#### Parameters

section | a GstMpegtsSection of type `GST_MPEGTS_SECTION_BAT` |

#### Returns

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

### gst_mpegts_section_get_sdt ()

    const GstMpegtsSDT *
    gst_mpegts_section_get_sdt (GstMpegtsSection *section);

Returns the GstMpegtsSDT contained in the `section` .

#### Parameters

section | a GstMpegtsSection of type `GST_MPEGTS_SECTION_SDT` |

#### Returns

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

### gst_mpegts_sdt_new ()

    GstMpegtsSDT *
    gst_mpegts_sdt_new (void);

Allocates and initializes a GstMpegtsSDT.

#### Returns

A newly allocated GstMpegtsSDT.

[transfer full]

### gst_mpegts_sdt_service_new ()

    GstMpegtsSDTService *
    gst_mpegts_sdt_service_new (void);

Allocates and initializes a GstMpegtsSDTService.

#### Returns

A newly allocated GstMpegtsSDTService.

[transfer full]

### gst_mpegts_section_from_sdt ()

    GstMpegtsSection *
    gst_mpegts_section_from_sdt (GstMpegtsSDT *sdt);

Ownership of `sdt` is taken. The data in `sdt` is managed by the GstMpegtsSection

#### Parameters

sdt | a GstMpegtsSDT to create the GstMpegtsSection from. | [transfer full]

#### Returns

the GstMpegtsSection.

[transfer full]

### gst_mpegts_section_get_eit ()

    const GstMpegtsEIT *
    gst_mpegts_section_get_eit (GstMpegtsSection *section);

Returns the GstMpegtsEIT contained in the `section` .

#### Parameters

section | a GstMpegtsSection of type `GST_MPEGTS_SECTION_EIT` |

#### Returns

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

### gst_mpegts_section_get_tdt ()

    GstDateTime *
    gst_mpegts_section_get_tdt (GstMpegtsSection *section);

Returns the GstDateTime of the TDT

#### Parameters

section | a GstMpegtsSection of type `GST_MPEGTS_SECTION_TDT` |

#### Returns

The GstDateTime contained in the section, or `NULL` if an error happened. Release with gst_date_time_unref when done.

### gst_mpegts_section_get_tot ()

    const GstMpegtsTOT *
    gst_mpegts_section_get_tot (GstMpegtsSection *section);

Returns the GstMpegtsTOT contained in the `section` .

#### Parameters

section | a GstMpegtsSection of type `GST_MPEGTS_SECTION_TOT` |

#### Returns

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

## Types and Values

### enum GstMpegtsSectionDVBTableID

Values for a GstMpegtsSection table_id.

These are the registered DVB table_id variants.

see also: GstMpegtsSectionTableID

#### Members

GST_MTS_TABLE_ID_NETWORK_INFORMATION_ACTUAL_NETWORK |  |
GST_MTS_TABLE_ID_NETWORK_INFORMATION_OTHER_NETWORK |  |
GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_ACTUAL_TS |  |
GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_OTHER_TS |  |
GST_MTS_TABLE_ID_BOUQUET_ASSOCIATION |  |
GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_PRESENT |  |
GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_PRESENT |  |
GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_1 |  |
GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_N |  |
GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_1 |  |
GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_N |  |
GST_MTS_TABLE_ID_TIME_DATE |  |
GST_MTS_TABLE_ID_RUNNING_STATUS |  |
GST_MTS_TABLE_ID_STUFFING |  |
GST_MTS_TABLE_ID_TIME_OFFSET |  |
GST_MTS_TABLE_ID_APPLICATION_INFORMATION_TABLE |  |
GST_MTS_TABLE_ID_CONTAINER |  |
GST_MTS_TABLE_ID_RELATED_CONTENT |  |
GST_MTS_TABLE_ID_CONTENT_IDENTIFIER |  |
GST_MTS_TABLE_ID_MPE_FEC |  |
GST_MTS_TABLE_ID_RESOLUTION_NOTIFICATION |  |
GST_MTS_TABLE_ID_MPE_IFEC |  |
GST_MTS_TABLE_ID_DISCONTINUITY_INFORMATION |  |
GST_MTS_TABLE_ID_SELECTION_INFORMATION |  |
GST_MTS_TABLE_ID_CA_MESSAGE_ECM_0 |  |
GST_MTS_TABLE_ID_CA_MESSAGE_ECM_1 |  |
GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_1 |  |
GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_N |  |
GST_MTS_TABLE_ID_SCT |  |
GST_MTS_TABLE_ID_FCT |  |
GST_MTS_TABLE_ID_TCT |  |
GST_MTS_TABLE_ID_SPT |  |
GST_MTS_TABLE_ID_CMT |  |
GST_MTS_TABLE_ID_TBTP |  |
GST_MTS_TABLE_ID_PCR_PACKET_PAYLOAD |  |
GST_MTS_TABLE_ID_TRANSMISSION_MODE_SUPPORT_PAYLOAD |  |
GST_MTS_TABLE_ID_TIM |  |
GST_MTS_TABLE_ID_LL_FEC_PARITY_DATA_TABLE |  |

### struct GstMpegtsNIT

    struct GstMpegtsNIT {
      gboolean   actual_network;
      guint16    network_id;

      GPtrArray  *descriptors;

      GPtrArray *streams;
    };

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

#### Members

gboolean `actual_network`; | Whether this NIT corresponds to the actual stream |
guint16 `network_id`; | ID of the network that this NIT describes |
GPtrArray *`descriptors`; | the global descriptors. | [element-type GstMpegtsDescriptor]
GPtrArray *`streams`; | the streams. | [element-type GstMpegtsNITStream]

### struct GstMpegtsNITStream

    struct GstMpegtsNITStream {
      guint16  transport_stream_id;
      guint16  original_network_id;

      GPtrArray  *descriptors;
    };

#### Members

guint16 `transport_stream_id`; |  |
guint16 `original_network_id`; |  |
GPtrArray *`descriptors`; | . | [element-type GstMpegtsDescriptor]

### struct GstMpegtsBAT

    struct GstMpegtsBAT {
      GPtrArray  *descriptors;

      GPtrArray  *streams;
    };

DVB Bouquet Association Table (EN 300 468)

#### Members

GPtrArray *`descriptors`; | . | [element-type GstMpegtsDescriptor]
GPtrArray *`streams`; | . | [element-type GstMpegtsBATStream]

### struct GstMpegtsBATStream

    struct GstMpegtsBATStream {
      guint16   transport_stream_id;
      guint16   original_network_id;

      GPtrArray   *descriptors;
    };

### struct GstMpegtsSDT

    struct GstMpegtsSDT {
      guint16    original_network_id;
      gboolean   actual_ts;
      guint16    transport_stream_id;

      GPtrArray *services;
    };

Service Description Table (EN 300 468)

#### Members

guint16 `original_network_id`; | Network ID of the originating delivery system |
gboolean `actual_ts`; | True if the table describes this transport stream |
guint16 `transport_stream_id`; | ID of this transport stream |
GPtrArray *`services`; | List of services. | [element-type GstMpegtsSDTService]

### struct GstMpegtsSDTService

    struct GstMpegtsSDTService {
      guint16    service_id;

      gboolean   EIT_schedule_flag;
      gboolean   EIT_present_following_flag;
      GstMpegtsRunningStatus running_status;
      gboolean   free_CA_mode;

      GPtrArray    *descriptors;
    };

#### Members

guint16 `service_id`; | The program number this table belongs to |
gboolean `EIT_schedule_flag`; | EIT schedule information is present in this transport stream |
gboolean `EIT_present_following_flag`; | EIT present/following information is present in this transport stream |
GstMpegtsRunningStatus `running_status`; | Status of this service |
gboolean `free_CA_mode`; | True if one or more streams is controlled by a CA system |
GPtrArray *`descriptors`; | List of descriptors. | [element-type GstMpegtsDescriptor]

### struct GstMpegtsEIT

    struct GstMpegtsEIT {
      guint16        transport_stream_id;
      guint16        original_network_id;
      guint8         segment_last_section_number;
      guint8         last_table_id;

      gboolean       actual_stream;
      gboolean       present_following;

      GPtrArray     *events;
    };

Event Information Table (EN 300 468)

#### Members

guint16 `transport_stream_id`; |  |
guint16 `original_network_id`; |  |
guint8 `segment_last_section_number`; |  |
guint8 `last_table_id`; |  |
gboolean `actual_stream`; |  |
gboolean `present_following`; |  |
GPtrArray *`events`; | List of events. | [element-type GstMpegtsEITEvent]

### struct GstMpegtsEITEvent

    struct GstMpegtsEITEvent {
      guint16      event_id;

      GstDateTime *start_time;
      guint32      duration;

      GstMpegtsRunningStatus running_status;
      gboolean     free_CA_mode;

      GPtrArray   *descriptors;
    };

Event from a `GstMpegtsEIT`

#### Members

guint16 `event_id`; |  |
GstDateTime *`start_time`; |  |
guint32 `duration`; |  |
GstMpegtsRunningStatus `running_status`; |  |
gboolean `free_CA_mode`; |  |
GPtrArray *`descriptors`; | List of descriptors. | [element-type GstMpegtsDescriptor]

### enum GstMpegtsRunningStatus

Running status of a service.

Corresponds to table 6 of ETSI EN 300 468 (v1.13.0)

#### Members

GST_MPEGTS_RUNNING_STATUS_UNDEFINED |  |
GST_MPEGTS_RUNNING_STATUS_NOT_RUNNING |  |
GST_MPEGTS_RUNNING_STATUS_STARTS_IN_FEW_SECONDS |  |
GST_MPEGTS_RUNNING_STATUS_PAUSING |  |
GST_MPEGTS_RUNNING_STATUS_RUNNING |  |
GST_MPEGTS_RUNNING_STATUS_OFF_AIR |  |

### struct GstMpegtsTOT

    struct GstMpegtsTOT {
      GstDateTime   *utc_time;

      GPtrArray     *descriptors;
    };

Time Offset Table (EN 300 468)

#### Members

GstDateTime *`utc_time`; |  |
GPtrArray *`descriptors`; | List of descriptors. | [element-type GstMpegtsDescriptor]