DVB variants of MPEG-TS descriptors

DVB variants of MPEG-TS descriptors — Descriptors for the various DVB specifications

Synopsis

#include <gst/mpegts/mpegts.h>

enum                GstMpegTsDVBDescriptorType;

struct              GstMpegTsComponentDescriptor;
gboolean            gst_mpegts_descriptor_parse_dvb_component
                                                        (const GstMpegTsDescriptor *descriptor,
                                                         GstMpegTsComponentDescriptor *res);

struct              GstMpegTsExtendedEventItem;
struct              GstMpegTsExtendedEventDescriptor;
gboolean            gst_mpegts_descriptor_parse_dvb_extended_event
                                                        (const GstMpegTsDescriptor *descriptor,
                                                         GstMpegTsExtendedEventDescriptor *res);

struct              GstMpegTsSatelliteDeliverySystemDescriptor;
enum                GstMpegTsDVBCodeRate;
enum                GstMpegTsModulationType;
enum                GstMpegTsSatellitePolarizationType;
enum                GstMpegTsSatelliteRolloff;
gboolean            gst_mpegts_descriptor_parse_satellite_delivery_system
                                                        (const GstMpegTsDescriptor *descriptor,
                                                         GstMpegTsSatelliteDeliverySystemDescriptor *res);

struct              GstMpegTsCableDeliverySystemDescriptor;
enum                GstMpegTsCableOuterFECScheme;
gboolean            gst_mpegts_descriptor_parse_cable_delivery_system
                                                        (const GstMpegTsDescriptor *descriptor,
                                                         GstMpegTsCableDeliverySystemDescriptor *res);

gboolean            gst_mpegts_descriptor_parse_dvb_short_event
                                                        (const GstMpegTsDescriptor *descriptor,
                                                         gchar **language_code,
                                                         gchar **event_name,
                                                         gchar **text);
gboolean            gst_mpegts_descriptor_parse_dvb_network_name
                                                        (const GstMpegTsDescriptor *descriptor,
                                                         gchar **name);

enum                GstMpegTsDVBServiceType;
gboolean            gst_mpegts_descriptor_parse_dvb_service
                                                        (const GstMpegTsDescriptor *descriptor,
                                                         GstMpegTsDVBServiceType *service_type,
                                                         gchar **service_name,
                                                         gchar **provider_name);

Object Hierarchy

  GEnum
   +----GstMpegTsDVBCodeRate
  GEnum
   +----GstMpegTsModulationType
  GEnum
   +----GstMpegTsSatellitePolarizationType
  GEnum
   +----GstMpegTsSatelliteRolloff
  GEnum
   +----GstMpegTsCableOuterFECScheme
  GEnum
   +----GstMpegTsDVBServiceType

Description

Details

enum GstMpegTsDVBDescriptorType

typedef enum {
  /* 64-127 DVB tags ETSI EN 300 468
   * (Specification for Service Information (SI) in DVB systems)
   */
  GST_MTS_DESC_DVB_NETWORK_NAME                 = 0x40,
  GST_MTS_DESC_DVB_SERVICE_LIST                 = 0x41,
  GST_MTS_DESC_DVB_STUFFING                     = 0x42,
  GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM    = 0x43,
  GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM        = 0x44,
  GST_MTS_DESC_DVB_VBI_DATA                     = 0x45,
  GST_MTS_DESC_DVB_VBI_TELETEXT                 = 0x46,
  GST_MTS_DESC_DVB_BOUQUET_NAME                 = 0x47,
  GST_MTS_DESC_DVB_SERVICE                      = 0x48,
  GST_MTS_DESC_DVB_COUNTRY_AVAILABILITY         = 0x49,
  GST_MTS_DESC_DVB_LINKAGE                      = 0x4A,
  GST_MTS_DESC_DVB_NVOD_REFERENCE               = 0x4B,
  GST_MTS_DESC_DVB_TIME_SHIFTED_SERVICE         = 0x4C,
  GST_MTS_DESC_DVB_SHORT_EVENT                  = 0x4D,
  GST_MTS_DESC_DVB_EXTENDED_EVENT               = 0x4E,
  GST_MTS_DESC_DVB_TIME_SHIFTED_EVENT           = 0x4F,
  GST_MTS_DESC_DVB_COMPONENT                    = 0x50,
  GST_MTS_DESC_DVB_MOSAIC                       = 0x51,
  GST_MTS_DESC_DVB_STREAM_IDENTIFIER            = 0x52,
  GST_MTS_DESC_DVB_CA_IDENTIFIER                = 0x53,
  GST_MTS_DESC_DVB_CONTENT                      = 0x54,
  GST_MTS_DESC_DVB_PARENTAL_RATING              = 0x55,
  GST_MTS_DESC_DVB_TELETEXT                     = 0x56,
  GST_MTS_DESC_DVB_TELEPHONE                    = 0x57,
  GST_MTS_DESC_DVB_LOCAL_TIME_OFFSET            = 0x58,
  GST_MTS_DESC_DVB_SUBTITLING                   = 0x59,
  GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM  = 0x5A,
  GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME    = 0x5B,
  GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME    = 0x5C,
  GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME    = 0x5D,
  GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT       = 0x5E,
  GST_MTS_DESC_DVB_PRIVATE_DATA_SPECIFIER       = 0x5F,
  GST_MTS_DESC_DVB_SERVICE_MOVE                 = 0x60,
  GST_MTS_DESC_DVB_SHORT_SMOOTHING_BUFFER       = 0x61,
  GST_MTS_DESC_DVB_FREQUENCY_LIST               = 0x62,
  GST_MTS_DESC_DVB_PARTIAL_TRANSPORT_STREAM     = 0x63,
  GST_MTS_DESC_DVB_DATA_BROADCAST               = 0x64,
  GST_MTS_DESC_DVB_SCRAMBLING                   = 0x65,
  GST_MTS_DESC_DVB_DATA_BROADCAST_ID            = 0x66,
  GST_MTS_DESC_DVB_TRANSPORT_STREAM             = 0x67,
  GST_MTS_DESC_DVB_DSNG                         = 0x68,
  GST_MTS_DESC_DVB_PDC                          = 0x69,
  GST_MTS_DESC_DVB_AC3                          = 0x6A,
  GST_MTS_DESC_DVB_ANCILLARY_DATA               = 0x6B,
  GST_MTS_DESC_DVB_CELL_LIST                    = 0x6C,
  GST_MTS_DESC_DVB_CELL_FREQUENCY_LINK          = 0x6D,
  GST_MTS_DESC_DVB_ANNOUNCEMENT_SUPPORT         = 0x6E,
  GST_MTS_DESC_DVB_APPLICATION_SIGNALLING       = 0x6F,
  GST_MTS_DESC_DVB_ADAPTATION_FIELD_DATA        = 0x70,
  GST_MTS_DESC_DVB_SERVICE_IDENTIFIER           = 0x71,
  GST_MTS_DESC_DVB_SERVICE_AVAILABILITY         = 0x72,
  GST_MTS_DESC_DVB_DEFAULT_AUTHORITY            = 0x73,
  GST_MTS_DESC_DVB_RELATED_CONTENT              = 0x74,
  GST_MTS_DESC_DVB_TVA_ID                       = 0x75,
  GST_MTS_DESC_DVB_CONTENT_IDENTIFIER           = 0x76,
  GST_MTS_DESC_DVB_TIMESLICE_FEC_IDENTIFIER     = 0x77,
  GST_MTS_DESC_DVB_ECM_REPETITION_RATE          = 0x78,
  GST_MTS_DESC_DVB_S2_SATELLITE_DELIVERY_SYSTEM = 0x79,
  GST_MTS_DESC_DVB_ENHANCED_AC3                 = 0x7A,
  GST_MTS_DESC_DVB_DTS                          = 0x7B,
  GST_MTS_DESC_DVB_AAC                          = 0x7C,
  GST_MTS_DESC_DVB_XAIT_LOCATION                = 0x7D,
  GST_MTS_DESC_DVB_FTA_CONTENT_MANAGEMENT       = 0x7E,
  GST_MTS_DESC_DVB_EXTENSION                    = 0x7F,
} GstMpegTsDVBDescriptorType;

The type of GstMpegTsDescriptor

These values correspond to the registered descriptor type from the various DVB specifications.

Consult the relevant specifications for more details.

GST_MTS_DESC_DVB_NETWORK_NAME

GST_MTS_DESC_DVB_SERVICE_LIST

GST_MTS_DESC_DVB_STUFFING

GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM

GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM

GST_MTS_DESC_DVB_VBI_DATA

GST_MTS_DESC_DVB_VBI_TELETEXT

GST_MTS_DESC_DVB_BOUQUET_NAME

GST_MTS_DESC_DVB_SERVICE

GST_MTS_DESC_DVB_COUNTRY_AVAILABILITY

GST_MTS_DESC_DVB_LINKAGE

GST_MTS_DESC_DVB_NVOD_REFERENCE

GST_MTS_DESC_DVB_TIME_SHIFTED_SERVICE

GST_MTS_DESC_DVB_SHORT_EVENT

GST_MTS_DESC_DVB_EXTENDED_EVENT

GST_MTS_DESC_DVB_TIME_SHIFTED_EVENT

GST_MTS_DESC_DVB_COMPONENT

GST_MTS_DESC_DVB_MOSAIC

GST_MTS_DESC_DVB_STREAM_IDENTIFIER

GST_MTS_DESC_DVB_CA_IDENTIFIER

GST_MTS_DESC_DVB_CONTENT

GST_MTS_DESC_DVB_PARENTAL_RATING

GST_MTS_DESC_DVB_TELETEXT

GST_MTS_DESC_DVB_TELEPHONE

GST_MTS_DESC_DVB_LOCAL_TIME_OFFSET

GST_MTS_DESC_DVB_SUBTITLING

GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM

GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME

GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME

GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME

GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT

GST_MTS_DESC_DVB_PRIVATE_DATA_SPECIFIER

GST_MTS_DESC_DVB_SERVICE_MOVE

GST_MTS_DESC_DVB_SHORT_SMOOTHING_BUFFER

GST_MTS_DESC_DVB_FREQUENCY_LIST

GST_MTS_DESC_DVB_PARTIAL_TRANSPORT_STREAM

GST_MTS_DESC_DVB_DATA_BROADCAST

GST_MTS_DESC_DVB_SCRAMBLING

GST_MTS_DESC_DVB_DATA_BROADCAST_ID

GST_MTS_DESC_DVB_TRANSPORT_STREAM

GST_MTS_DESC_DVB_DSNG

GST_MTS_DESC_DVB_PDC

GST_MTS_DESC_DVB_AC3

GST_MTS_DESC_DVB_ANCILLARY_DATA

GST_MTS_DESC_DVB_CELL_LIST

GST_MTS_DESC_DVB_CELL_FREQUENCY_LINK

GST_MTS_DESC_DVB_ANNOUNCEMENT_SUPPORT

GST_MTS_DESC_DVB_APPLICATION_SIGNALLING

GST_MTS_DESC_DVB_ADAPTATION_FIELD_DATA

GST_MTS_DESC_DVB_SERVICE_IDENTIFIER

GST_MTS_DESC_DVB_SERVICE_AVAILABILITY

GST_MTS_DESC_DVB_DEFAULT_AUTHORITY

GST_MTS_DESC_DVB_RELATED_CONTENT

GST_MTS_DESC_DVB_TVA_ID

GST_MTS_DESC_DVB_CONTENT_IDENTIFIER

GST_MTS_DESC_DVB_TIMESLICE_FEC_IDENTIFIER

GST_MTS_DESC_DVB_ECM_REPETITION_RATE

GST_MTS_DESC_DVB_S2_SATELLITE_DELIVERY_SYSTEM

GST_MTS_DESC_DVB_ENHANCED_AC3

GST_MTS_DESC_DVB_DTS

GST_MTS_DESC_DVB_AAC

GST_MTS_DESC_DVB_XAIT_LOCATION

GST_MTS_DESC_DVB_FTA_CONTENT_MANAGEMENT

GST_MTS_DESC_DVB_EXTENSION


struct GstMpegTsComponentDescriptor

struct GstMpegTsComponentDescriptor {
  guint8 stream_content;
  guint8 component_type;
  guint8 component_tag;
  /* FIXME : Make it a separate (allocated, null-terminated) return value  */
  gchar  language_code[3];
  gchar *text;
};

gst_mpegts_descriptor_parse_dvb_component ()

gboolean            gst_mpegts_descriptor_parse_dvb_component
                                                        (const GstMpegTsDescriptor *descriptor,
                                                         GstMpegTsComponentDescriptor *res);

struct GstMpegTsExtendedEventItem

struct GstMpegTsExtendedEventItem {
  gchar *item_description;
  gchar *item;
};

struct GstMpegTsExtendedEventDescriptor

struct GstMpegTsExtendedEventDescriptor {
  guint8 descriptor_number;
  guint8 last_descriptor_number;
  gchar  language_code[3];
  guint8 nb_items;
  GstMpegTsExtendedEventItem items[128];
  gchar *text;
};

gst_mpegts_descriptor_parse_dvb_extended_event ()

gboolean            gst_mpegts_descriptor_parse_dvb_extended_event
                                                        (const GstMpegTsDescriptor *descriptor,
                                                         GstMpegTsExtendedEventDescriptor *res);

struct GstMpegTsSatelliteDeliverySystemDescriptor

struct GstMpegTsSatelliteDeliverySystemDescriptor {
  guint32                            frequency;
  gfloat                             orbital_position;
  gboolean                           west_east; 
  GstMpegTsSatellitePolarizationType polarization;

  GstMpegTsSatelliteRolloff          roll_off;
  gboolean                           modulation_system;
  GstMpegTsModulationType            modulation_type;

  guint32                            symbol_rate;
  GstMpegTsDVBCodeRate               fec_inner;
};

Satellite Delivery System Descriptor (EN 300 468 v.1.13.1)

guint32 frequency;

the frequency in kHz (kiloHertz)

gfloat orbital_position;

the orbital position in degrees

gboolean west_east;

If TRUE, the satellite is in the eastern part of the orbit, else in the western part.

GstMpegTsSatellitePolarizationType polarization;

The polarization of the transmitted signal

GstMpegTsSatelliteRolloff roll_off;

Roll-off factor used in DVB-S2

gboolean modulation_system;

modulation system, TRUE if DVB-S2, else DVB-S

GstMpegTsModulationType modulation_type;

Modulation scheme used

guint32 symbol_rate;

Symbol rate (in symbols per second)

GstMpegTsDVBCodeRate fec_inner;

inner FEC scheme used

enum GstMpegTsDVBCodeRate

typedef enum {
  GST_MPEGTS_FEC_NONE = 0,
  GST_MPEGTS_FEC_1_2,
  GST_MPEGTS_FEC_2_3,
  GST_MPEGTS_FEC_3_4,
  GST_MPEGTS_FEC_4_5,
  GST_MPEGTS_FEC_5_6,
  GST_MPEGTS_FEC_6_7,
  GST_MPEGTS_FEC_7_8,
  GST_MPEGTS_FEC_8_9,
  GST_MPEGTS_FEC_AUTO,
  GST_MPEGTS_FEC_3_5,
  GST_MPEGTS_FEC_9_10,
  GST_MPEGTS_FEC_2_5
} GstMpegTsDVBCodeRate;

GST_MPEGTS_FEC_NONE

GST_MPEGTS_FEC_1_2

GST_MPEGTS_FEC_2_3

GST_MPEGTS_FEC_3_4

GST_MPEGTS_FEC_4_5

GST_MPEGTS_FEC_5_6

GST_MPEGTS_FEC_6_7

GST_MPEGTS_FEC_7_8

GST_MPEGTS_FEC_8_9

GST_MPEGTS_FEC_AUTO

GST_MPEGTS_FEC_3_5

GST_MPEGTS_FEC_9_10

GST_MPEGTS_FEC_2_5


enum GstMpegTsModulationType

typedef enum {
  GST_MPEGTS_MODULATION_QPSK    = 0,
  GST_MPEGTS_MODULATION_QAM_16,
  GST_MPEGTS_MODULATION_QAM_32,
  GST_MPEGTS_MODULATION_QAM_64,
  GST_MPEGTS_MODULATION_QAM_128,
  GST_MPEGTS_MODULATION_QAM_256,
  GST_MPEGTS_MODULATION_QAM_AUTO,
  GST_MPEGTS_MODULATION_VSB_8,
  GST_MPEGTS_MODULATION_VSB_16,
  GST_MPEGTS_MODULATION_PSK_8,
  GST_MPEGTS_MODULATION_APSK_16,
  GST_MPEGTS_MODULATION_APSK_32,
  GST_MPEGTS_MODULATION_DQPSK,
  GST_MPEGTS_MODULATION_QAM_4_NR_,
  GST_MPEGTS_MODULATION_NONE
} GstMpegTsModulationType;

GST_MPEGTS_MODULATION_QPSK

GST_MPEGTS_MODULATION_QAM_16

GST_MPEGTS_MODULATION_QAM_32

GST_MPEGTS_MODULATION_QAM_64

GST_MPEGTS_MODULATION_QAM_128

GST_MPEGTS_MODULATION_QAM_256

GST_MPEGTS_MODULATION_QAM_AUTO

GST_MPEGTS_MODULATION_VSB_8

GST_MPEGTS_MODULATION_VSB_16

GST_MPEGTS_MODULATION_PSK_8

GST_MPEGTS_MODULATION_APSK_16

GST_MPEGTS_MODULATION_APSK_32

GST_MPEGTS_MODULATION_DQPSK

GST_MPEGTS_MODULATION_QAM_4_NR_

GST_MPEGTS_MODULATION_NONE


enum GstMpegTsSatellitePolarizationType

typedef enum {
  GST_MPEGTS_POLARIZATION_LINEAR_HORIZONTAL = 0,
  GST_MPEGTS_POLARIZATION_LINEAR_VERTICAL,
  GST_MPEGTS_POLARIZATION_CIRCULAR_LEFT,
  GST_MPEGTS_POLARIZATION_CIRCULAR_RIGHT
} GstMpegTsSatellitePolarizationType;

GST_MPEGTS_POLARIZATION_LINEAR_HORIZONTAL

GST_MPEGTS_POLARIZATION_LINEAR_VERTICAL

GST_MPEGTS_POLARIZATION_CIRCULAR_LEFT

GST_MPEGTS_POLARIZATION_CIRCULAR_RIGHT


enum GstMpegTsSatelliteRolloff

typedef enum {
  GST_MPEGTS_ROLLOFF_35 = 0,
  GST_MPEGTS_ROLLOFF_20,
  GST_MPEGTS_ROLLOFF_25,
  GST_MPEGTS_ROLLOFF_RESERVED,
  GST_MPEGTS_ROLLOFF_AUTO
} GstMpegTsSatelliteRolloff;

GST_MPEGTS_ROLLOFF_35

GST_MPEGTS_ROLLOFF_20

GST_MPEGTS_ROLLOFF_25

GST_MPEGTS_ROLLOFF_RESERVED

GST_MPEGTS_ROLLOFF_AUTO


gst_mpegts_descriptor_parse_satellite_delivery_system ()

gboolean            gst_mpegts_descriptor_parse_satellite_delivery_system
                                                        (const GstMpegTsDescriptor *descriptor,
                                                         GstMpegTsSatelliteDeliverySystemDescriptor *res);

Extracts the satellite delivery system information from descriptor.

descriptor :

a GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM GstMpegTsDescriptor

res :

the GstMpegTsSatelliteDeliverySystemDescriptor to fill. [out][transfer none]

Returns :

TRUE if parsing succeeded, else FALSE.

struct GstMpegTsCableDeliverySystemDescriptor

struct GstMpegTsCableDeliverySystemDescriptor {
  guint32                            frequency;
  GstMpegTsCableOuterFECScheme       outer_fec;
  GstMpegTsModulationType            modulation;

  guint32                            symbol_rate;
  GstMpegTsDVBCodeRate               fec_inner;
};

Cable Delivery System Descriptor (EN 300 468 v.1.13.1)

guint32 frequency;

the frequency in Hz (Hertz)

GstMpegTsCableOuterFECScheme outer_fec;

the outer FEC scheme used

GstMpegTsModulationType modulation;

Modulation scheme used

guint32 symbol_rate;

Symbol rate (in symbols per second)

GstMpegTsDVBCodeRate fec_inner;

inner FEC scheme used

enum GstMpegTsCableOuterFECScheme

typedef enum {
  GST_MPEGTS_CABLE_OUTER_FEC_UNDEFINED = 0,
  GST_MPEGTS_CABLE_OUTER_FEC_NONE,
  GST_MPEGTS_CABLE_OUTER_FEC_RS_204_188,
} GstMpegTsCableOuterFECScheme;

GST_MPEGTS_CABLE_OUTER_FEC_UNDEFINED

GST_MPEGTS_CABLE_OUTER_FEC_NONE

GST_MPEGTS_CABLE_OUTER_FEC_RS_204_188


gst_mpegts_descriptor_parse_cable_delivery_system ()

gboolean            gst_mpegts_descriptor_parse_cable_delivery_system
                                                        (const GstMpegTsDescriptor *descriptor,
                                                         GstMpegTsCableDeliverySystemDescriptor *res);

Extracts the cable delivery system information from descriptor.

descriptor :

a GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM GstMpegTsDescriptor

res :

the GstMpegTsCableDeliverySystemDescriptor to fill. [out][transfer none]

Returns :

TRUE if parsing succeeded, else FALSE.

gst_mpegts_descriptor_parse_dvb_short_event ()

gboolean            gst_mpegts_descriptor_parse_dvb_short_event
                                                        (const GstMpegTsDescriptor *descriptor,
                                                         gchar **language_code,
                                                         gchar **event_name,
                                                         gchar **text);

Extracts the DVB short event information from descriptor.

descriptor :

a GST_MTS_DESC_DVB_SHORT_EVENT GstMpegTsDescriptor

language_code :

the language code. [out][transfer full][allow-none]

event_name :

the event name. [out][transfer full][allow-none]

text :

the event text. [out][transfer full][allow-none]

Returns :

TRUE if parsing succeeded, else FALSE.

gst_mpegts_descriptor_parse_dvb_network_name ()

gboolean            gst_mpegts_descriptor_parse_dvb_network_name
                                                        (const GstMpegTsDescriptor *descriptor,
                                                         gchar **name);

Parses out the dvb network name from the descriptor:

descriptor :

a GST_MTS_DESC_DVB_NETWORK_NAME GstMpegTsDescriptor

name :

the extracted name. [out][transfer full]

Returns :

TRUE if the parsing happened correctly, else FALSE.

enum GstMpegTsDVBServiceType

typedef enum {
  GST_DVB_SERVICE_RESERVED_00               = 0x00,
  GST_DVB_SERVICE_DIGITAL_TELEVISION,
  GST_DVB_SERVICE_DIGITAL_RADIO_SOUND,
  GST_DVB_SERVICE_TELETEXT,
  GST_DVB_SERVICE_NVOD_REFERENCE,
  GST_DVB_SERVICE_NVOD_TIME_SHIFTED,
  GST_DVB_SERVICE_MOSAIC,
  GST_DVB_SERVICE_FM_RADIO,
  GST_DVB_SERVICE_DVB_SRM,
  GST_DVB_SERVICE_RESERVED_09,
  GST_DVB_SERVICE_ADVANCED_CODEC_DIGITAL_RADIO_SOUND,
  GST_DVB_SERVICE_ADVANCED_CODEC_MOSAIC,
  GST_DVB_SERVICE_DATA_BROADCAST,
  GST_DVB_SERVICE_RESERVED_0D_COMMON_INTERFACE,
  GST_DVB_SERVICE_RCS_MAP,
  GST_DVB_SERVICE_RCS_FLS,
  GST_DVB_SERVICE_DVB_MHP,
  GST_DVB_SERVICE_MPEG2_HD_DIGITAL_TELEVISION,
  /* 0x12 - 015 Reserved for future use */
  GST_DVB_SERVICE_ADVANCED_CODEC_SD_DIGITAL_TELEVISION = 0x16,
  GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_TIME_SHIFTED,
  GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_REFERENCE,
  GST_DVB_SERVICE_ADVANCED_CODEC_HD_DIGITAL_TELEVISION,
  GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_TIME_SHIFTED,
  GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_REFERENCE,
  GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_DIGITAL_TELEVISION,
  GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_TIME_SHIFTED,
  GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_REFERENCE,
  /* 0x1F - 0x7f Reserved for future use */
  /* 0x80 - 0xfe user defined */
  /* 0xff Reserved for future use */
  GST_DVB_SERVICE_RESERVED_FF
} GstMpegTsDVBServiceType;

The type of service of a channel.

As specified in Table 87 of ETSI EN 300 468 v1.13.1

GST_DVB_SERVICE_RESERVED_00

GST_DVB_SERVICE_DIGITAL_TELEVISION

GST_DVB_SERVICE_DIGITAL_RADIO_SOUND

GST_DVB_SERVICE_TELETEXT

GST_DVB_SERVICE_NVOD_REFERENCE

GST_DVB_SERVICE_NVOD_TIME_SHIFTED

GST_DVB_SERVICE_MOSAIC

GST_DVB_SERVICE_FM_RADIO

GST_DVB_SERVICE_DVB_SRM

GST_DVB_SERVICE_RESERVED_09

GST_DVB_SERVICE_ADVANCED_CODEC_DIGITAL_RADIO_SOUND

GST_DVB_SERVICE_ADVANCED_CODEC_MOSAIC

GST_DVB_SERVICE_DATA_BROADCAST

GST_DVB_SERVICE_RESERVED_0D_COMMON_INTERFACE

GST_DVB_SERVICE_RCS_MAP

GST_DVB_SERVICE_RCS_FLS

GST_DVB_SERVICE_DVB_MHP

GST_DVB_SERVICE_MPEG2_HD_DIGITAL_TELEVISION

GST_DVB_SERVICE_ADVANCED_CODEC_SD_DIGITAL_TELEVISION

GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_TIME_SHIFTED

GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_REFERENCE

GST_DVB_SERVICE_ADVANCED_CODEC_HD_DIGITAL_TELEVISION

GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_TIME_SHIFTED

GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_REFERENCE

GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_DIGITAL_TELEVISION

GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_TIME_SHIFTED

GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_REFERENCE

GST_DVB_SERVICE_RESERVED_FF


gst_mpegts_descriptor_parse_dvb_service ()

gboolean            gst_mpegts_descriptor_parse_dvb_service
                                                        (const GstMpegTsDescriptor *descriptor,
                                                         GstMpegTsDVBServiceType *service_type,
                                                         gchar **service_name,
                                                         gchar **provider_name);

Extracts the dvb service information from descriptor.

descriptor :

a GST_MTS_DESC_DVB_SERVICE GstMpegTsDescriptor

service_type :

the service type. [out][allow-none]

service_name :

the service name. [out][transfer full][allow-none]

provider_name :

the provider name. [out][transfer full][allow-none]

Returns :

TRUE if parsing succeeded, else FALSE.