## ATSC variants of MPEG-TS sections

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

## Functions

const GstMpegtsAtscVCT * | gst_mpegts_section_get_atsc_tvct ()
const GstMpegtsAtscVCT * | gst_mpegts_section_get_atsc_cvct ()
const GstMpegtsAtscMGT * | gst_mpegts_section_get_atsc_mgt ()
const gchar * | gst_mpegts_atsc_string_segment_get_string ()
const GstMpegtsAtscEIT * | gst_mpegts_section_get_atsc_eit ()
const GstMpegtsAtscETT * | gst_mpegts_section_get_atsc_ett ()
const GstMpegtsAtscSTT * | gst_mpegts_section_get_atsc_stt ()
GstDateTime * | gst_mpegts_atsc_stt_get_datetime_utc ()

## Types and Values

enum | GstMpegtsSectionATSCTableID
struct | GstMpegtsAtscVCTSource
struct | GstMpegtsAtscVCT
enum | GstMpegtsAtscMGTTableType
struct | GstMpegtsAtscMGTTable
struct | GstMpegtsAtscMGT
struct | GstMpegtsAtscMultString
struct | GstMpegtsAtscEITEvent
struct | GstMpegtsAtscEIT
struct | GstMpegtsAtscETT
struct | GstMpegtsAtscSTT

## Includes

    #include <gst/mpegts/mpegts.h>

## Description

## Functions

### gst_mpegts_section_get_atsc_tvct ()

    const GstMpegtsAtscVCT *
    gst_mpegts_section_get_atsc_tvct (GstMpegtsSection *section);

Returns the GstMpegtsAtscVCT contained in the `section`

#### Parameters

section | a GstMpegtsSection of type `GST_MPEGTS_SECTION_ATSC_TVCT` |

#### Returns

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

### gst_mpegts_section_get_atsc_cvct ()

    const GstMpegtsAtscVCT *
    gst_mpegts_section_get_atsc_cvct (GstMpegtsSection *section);

Returns the GstMpegtsAtscVCT contained in the `section`

#### Parameters

section | a GstMpegtsSection of type `GST_MPEGTS_SECTION_ATSC_CVCT` |

#### Returns

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

### gst_mpegts_section_get_atsc_mgt ()

    const GstMpegtsAtscMGT *
    gst_mpegts_section_get_atsc_mgt (GstMpegtsSection *section);

Returns the GstMpegtsAtscMGT contained in the `section` .

#### Parameters

section | a GstMpegtsSection of type `GST_MPEGTS_SECTION_ATSC_MGT` |

#### Returns

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

### gst_mpegts_atsc_string_segment_get_string ()

    const gchar *
    gst_mpegts_atsc_string_segment_get_string
                                   (GstMpegtsAtscStringSegment *seg);

### gst_mpegts_section_get_atsc_eit ()

    const GstMpegtsAtscEIT *
    gst_mpegts_section_get_atsc_eit (GstMpegtsSection *section);

Returns the GstMpegtsAtscEIT contained in the `section` .

#### Parameters

section | a GstMpegtsSection of type `GST_MPEGTS_SECTION_ATSC_EIT` |

#### Returns

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

### gst_mpegts_section_get_atsc_ett ()

    const GstMpegtsAtscETT *
    gst_mpegts_section_get_atsc_ett (GstMpegtsSection *section);

Returns the GstMpegtsAtscETT contained in the `section` .

#### Parameters

section | a GstMpegtsSection of type `GST_MPEGTS_SECTION_ATSC_ETT` |

#### Returns

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

### gst_mpegts_section_get_atsc_stt ()

    const GstMpegtsAtscSTT *
    gst_mpegts_section_get_atsc_stt (GstMpegtsSection *section);

Returns the GstMpegtsAtscSTT contained in the `section` .

#### Parameters

section | a GstMpegtsSection of type `GST_MPEGTS_SECTION_ATSC_STT` |

#### Returns

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

### gst_mpegts_atsc_stt_get_datetime_utc ()

    GstDateTime *
    gst_mpegts_atsc_stt_get_datetime_utc (GstMpegtsAtscSTT *stt);

## Types and Values

### enum GstMpegtsSectionATSCTableID

Values for a GstMpegtsSection table_id.

These are the registered ATSC table_id variants.

see also: GstMpegtsSectionTableID

#### Members

GST_MTS_TABLE_ID_ATSC_MASTER_GUIDE |  |
GST_MTS_TABLE_ID_ATSC_TERRESTRIAL_VIRTUAL_CHANNEL |  |
GST_MTS_TABLE_ID_ATSC_CABLE_VIRTUAL_CHANNEL |  |
GST_MTS_TABLE_ID_ATSC_RATING_REGION |  |
GST_MTS_TABLE_ID_ATSC_EVENT_INFORMATION |  |
GST_MTS_TABLE_ID_ATSC_CHANNEL_OR_EVENT_EXTENDED_TEXT |  |
GST_MTS_TABLE_ID_ATSC_SYSTEM_TIME |  |
GST_MTS_TABLE_ID_ATSC_DATA_EVENT |  |
GST_MTS_TABLE_ID_ATSC_DATA_SERVICE |  |
GST_MTS_TABLE_ID_ATSC_NETWORK_RESOURCE |  |
GST_MTS_TABLE_ID_ATSC_LONG_TERM_SERVICE |  |
GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE |  |
GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE_SECTION_CODE |  |
GST_MTS_TABLE_ID_ATSC_AGGREGATE_EVENT_INFORMATION |  |
GST_MTS_TABLE_ID_ATSC_AGGREGATE_EXTENDED_TEXT |  |
GST_MTS_TABLE_ID_ATSC_AGGREGATE_DATA_EVENT |  |
GST_MTS_TABLE_ID_ATSC_SATELLITE_VIRTUAL_CHANNEL |  |

### struct GstMpegtsAtscVCTSource

    struct GstMpegtsAtscVCTSource {
      gchar    *short_name;
      guint16   major_channel_number;
      guint16   minor_channel_number;
      guint8    modulation_mode;
      guint32   carrier_frequency;
      guint16   channel_TSID;
      guint16   program_number;
      /* FIXME: */
      guint8    ETM_location;
      gboolean  access_controlled;
      gboolean  hidden;
      gboolean  path_select; /* CVCT only - reserved bit in TVCT */
      gboolean  out_of_band; /* CVCT only - reserved bit in TVCT */
      gboolean  hide_guide;
      /* FIXME: */
      guint8    service_type;
      guint16   source_id;
      GPtrArray *descriptors;
    };

Source from a `GstMpegtsAtscVCT` , can be used both for TVCT and CVCT tables

#### Members

gchar *`short_name`; |  |
guint16 `major_channel_number`; |  |
guint16 `minor_channel_number`; |  |
guint8 `modulation_mode`; |  |
guint32 `carrier_frequency`; |  |
guint16 `channel_TSID`; |  |
guint16 `program_number`; |  |
guint8 `ETM_location`; |  |
gboolean `access_controlled`; |  |
gboolean `hidden`; |  |
gboolean `path_select`; |  |
gboolean `out_of_band`; |  |
gboolean `hide_guide`; |  |
guint8 `service_type`; |  |
guint16 `source_id`; |  |
GPtrArray *`descriptors`; | descriptors. | [element-type GstMpegtsDescriptor]

### struct GstMpegtsAtscVCT

    struct GstMpegtsAtscVCT {
      guint16   transport_stream_id;
      guint8    protocol_version;
      GPtrArray *sources;
      GPtrArray *descriptors;
    };

Represents both: Terrestrial Virtual Channel Table (A65) Cable Virtual Channel Table (A65)

#### Members

guint16 `transport_stream_id`; |  |
guint8 `protocol_version`; |  |
GPtrArray *`sources`; | sources. | [element-type GstMpegtsAtscVCTSource]
GPtrArray *`descriptors`; | descriptors. | [element-type GstMpegtsDescriptor]

### enum GstMpegtsAtscMGTTableType

#### Members

GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT0 |  |
GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT127 |  |
GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT0 |  |
GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT127 |  |

### struct GstMpegtsAtscMGTTable

    struct GstMpegtsAtscMGTTable {
      guint16 table_type;
      guint16 pid;
      guint8  version_number;
      guint32 number_bytes;
      GPtrArray *descriptors;
    };

Source from a `GstMpegtsAtscMGT`

#### Members

guint16 `table_type`; |  |
guint16 `pid`; |  |
guint8 `version_number`; |  |
guint32 `number_bytes`; |  |
GPtrArray *`descriptors`; | descriptors. | [element-type GstMpegtsDescriptor]

### struct GstMpegtsAtscMGT

    struct GstMpegtsAtscMGT {
      guint8  protocol_version;
      guint16 tables_defined;
      GPtrArray *tables;
      GPtrArray *descriptors;
    };

Master Guide Table (A65)

#### Members

guint8 `protocol_version`; |  |
guint16 `tables_defined`; |  |
GPtrArray *`tables`; | the tables. | [element-type GstMpegtsAtscMGTTable]
GPtrArray *`descriptors`; | descriptors. | [element-type GstMpegtsDescriptor]

### struct GstMpegtsAtscMultString

    struct GstMpegtsAtscMultString {
      gchar      iso_639_langcode[4];
      GPtrArray *segments;
    };

#### Members

gchar `iso_639_langcode`[4]; |  |
GPtrArray *`segments`; | (element-type GstMpegtsAtscStringSegment) |

### struct GstMpegtsAtscEITEvent

    struct GstMpegtsAtscEITEvent {
      guint16        event_id;
      guint32        start_time;
      guint8         etm_location;
      guint32        length_in_seconds;
      GPtrArray     *titles;

      GPtrArray *descriptors;
    };

An ATSC EIT Event

#### Members

guint16 `event_id`; |  |
guint32 `start_time`; |  |
guint8 `etm_location`; |  |
guint32 `length_in_seconds`; |  |
GPtrArray *`titles`; | the titles. | [element-type GstMpegtsAtscMultString]
GPtrArray *`descriptors`; | descriptors. | [element-type GstMpegtsDescriptor]

### struct GstMpegtsAtscEIT

    struct GstMpegtsAtscEIT {
      guint16        source_id;
      guint8         protocol_version;

      GPtrArray     *events;
    };

Event Information Table (ATSC)

#### Members

guint16 `source_id`; |  |
guint8 `protocol_version`; |  |
GPtrArray *`events`; | Events. | [element-type GstMpegtsAtscEITEvent]

### struct GstMpegtsAtscETT

    struct GstMpegtsAtscETT {
      guint16        ett_table_id_extension;
      guint16        protocol_version;
      guint32        etm_id;

      GPtrArray     *messages;
    };

Extended Text Table (ATSC)

#### Members

guint16 `ett_table_id_extension`; |  |
guint16 `protocol_version`; |  |
guint32 `etm_id`; |  |
GPtrArray *`messages`; | List of texts. | [element-type GstMpegtsAtscMultString]

### struct GstMpegtsAtscSTT

    struct GstMpegtsAtscSTT {
      guint8     protocol_version;
      guint32    system_time;
      guint8     gps_utc_offset;
      gboolean   ds_status;
      guint8     ds_dayofmonth;
      guint8     ds_hour;
      GPtrArray *descriptors;

      GstDateTime *utc_datetime;
    };

System Time Table (A65)

#### Members

guint8 `protocol_version`; |  |
guint32 `system_time`; |  |
guint8 `gps_utc_offset`; |  |
gboolean `ds_status`; |  |
guint8 `ds_dayofmonth`; |  |
guint8 `ds_hour`; |  |
GPtrArray *`descriptors`; | descriptors. | [element-type GstMpegtsDescriptor]
GstDateTime *`utc_datetime`; |  |