Commit 982f8394 authored by Russel Winder's avatar Russel Winder Committed by Sebastian Dröge

mpegts: Register a number of new boxed types to support auto generation of bindings.

parent 6bd75a5f
...@@ -53,6 +53,18 @@ ...@@ -53,6 +53,18 @@
#define BCD_28(a) (BCD_DEC(a[3]) + 10 * BCD(a[2]) + 1000 * BCD(a[1]) + 100000 * BCD(a[0])) #define BCD_28(a) (BCD_DEC(a[3]) + 10 * BCD(a[2]) + 1000 * BCD(a[1]) + 100000 * BCD(a[0]))
#define BCD_32(a) (BCD(a[3]) + 100 * BCD(a[2]) + 10000 * BCD(a[1]) + 1000000 * BCD(a[0])) #define BCD_32(a) (BCD(a[3]) + 100 * BCD(a[2]) + 10000 * BCD(a[1]) + 1000000 * BCD(a[0]))
#define DEFINE_STATIC_COPY_FUNCTION(type, name) \
static type * _##name##_copy (type * source) \
{ \
return g_slice_dup (type, source); \
}
#define DEFINE_STATIC_FREE_FUNCTION(type, name) \
static void _##name##_free (type * source) \
{ \
g_slice_free (type, source); \
}
/* GST_MTS_DESC_DVB_NETWORK_NAME (0x40) */ /* GST_MTS_DESC_DVB_NETWORK_NAME (0x40) */
/** /**
* gst_mpegts_descriptor_parse_dvb_network_name: * gst_mpegts_descriptor_parse_dvb_network_name:
...@@ -115,11 +127,17 @@ gst_mpegts_descriptor_from_dvb_network_name (const gchar * name) ...@@ -115,11 +127,17 @@ gst_mpegts_descriptor_from_dvb_network_name (const gchar * name)
} }
/* GST_MTS_DESC_DVB_SERVICE_LIST (0x41) */ /* GST_MTS_DESC_DVB_SERVICE_LIST (0x41) */
static void
_gst_mpegts_dvb_service_list_item_free (GstMpegtsDVBServiceListItem * item) DEFINE_STATIC_COPY_FUNCTION (GstMpegtsDVBServiceListItem,
{ gst_mpegts_dvb_service_list_item);
g_slice_free (GstMpegtsDVBServiceListItem, item);
} DEFINE_STATIC_FREE_FUNCTION (GstMpegtsDVBServiceListItem,
gst_mpegts_dvb_service_list_item);
G_DEFINE_BOXED_TYPE (GstMpegtsDVBServiceListItem,
gst_mpegts_dvb_service_list_item,
(GBoxedCopyFunc) _gst_mpegts_dvb_service_list_item_copy,
(GFreeFunc) _gst_mpegts_dvb_service_list_item_free);
/** /**
* gst_mpegts_descriptor_parse_dvb_service_list: * gst_mpegts_descriptor_parse_dvb_service_list:
...@@ -188,6 +206,18 @@ gst_mpegts_descriptor_parse_dvb_stuffing (const GstMpegtsDescriptor * ...@@ -188,6 +206,18 @@ gst_mpegts_descriptor_parse_dvb_stuffing (const GstMpegtsDescriptor *
} }
/* GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM (0x43) */ /* GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM (0x43) */
DEFINE_STATIC_COPY_FUNCTION (GstMpegtsSatelliteDeliverySystemDescriptor,
gst_mpegts_satellite_delivery_system_descriptor);
DEFINE_STATIC_FREE_FUNCTION (GstMpegtsSatelliteDeliverySystemDescriptor,
gst_mpegts_satellite_delivery_system_descriptor);
G_DEFINE_BOXED_TYPE (GstMpegtsSatelliteDeliverySystemDescriptor,
gst_mpegts_satellite_delivery_system_descriptor,
(GBoxedCopyFunc) _gst_mpegts_satellite_delivery_system_descriptor_copy,
(GFreeFunc) _gst_mpegts_satellite_delivery_system_descriptor_free);
/** /**
* gst_mpegts_descriptor_parse_satellite_delivery_system: * gst_mpegts_descriptor_parse_satellite_delivery_system:
* @descriptor: a %GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM #GstMpegtsDescriptor * @descriptor: a %GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM #GstMpegtsDescriptor
...@@ -290,16 +320,9 @@ gst_mpegts_descriptor_parse_satellite_delivery_system (const GstMpegtsDescriptor ...@@ -290,16 +320,9 @@ gst_mpegts_descriptor_parse_satellite_delivery_system (const GstMpegtsDescriptor
} }
/* GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM (0x44) */ /* GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM (0x44) */
static GstMpegtsCableDeliverySystemDescriptor
* _gst_mpegts_dvb_cable_delivery_system_descriptor_copy
(GstMpegtsCableDeliverySystemDescriptor * source)
{
GstMpegtsCableDeliverySystemDescriptor *copy;
copy = g_slice_dup (GstMpegtsCableDeliverySystemDescriptor, source); DEFINE_STATIC_COPY_FUNCTION (GstMpegtsCableDeliverySystemDescriptor,
gst_mpegts_dvb_cable_delivery_system_descriptor);
return copy;
}
void gst_mpegts_dvb_cable_delivery_system_descriptor_free void gst_mpegts_dvb_cable_delivery_system_descriptor_free
(GstMpegtsCableDeliverySystemDescriptor * source) (GstMpegtsCableDeliverySystemDescriptor * source)
...@@ -606,12 +629,38 @@ G_DEFINE_BOXED_TYPE (GstMpegtsDVBLinkageDescriptor, ...@@ -606,12 +629,38 @@ G_DEFINE_BOXED_TYPE (GstMpegtsDVBLinkageDescriptor,
(GBoxedCopyFunc) _gst_mpegts_dvb_linkage_descriptor_copy, (GBoxedCopyFunc) _gst_mpegts_dvb_linkage_descriptor_copy,
(GFreeFunc) gst_mpegts_dvb_linkage_descriptor_free); (GFreeFunc) gst_mpegts_dvb_linkage_descriptor_free);
static void DEFINE_STATIC_COPY_FUNCTION (GstMpegtsDVBLinkageMobileHandOver,
_gst_mpegts_dvb_linkage_extened_event_free (GstMpegtsDVBLinkageExtendedEvent * gst_mpegts_dvb_linkage_mobile_hand_over);
item)
{ DEFINE_STATIC_FREE_FUNCTION (GstMpegtsDVBLinkageMobileHandOver,
g_slice_free (GstMpegtsDVBLinkageExtendedEvent, item); gst_mpegts_dvb_linkage_mobile_hand_over);
}
G_DEFINE_BOXED_TYPE (GstMpegtsDVBLinkageMobileHandOver,
gst_mpegts_dvb_linkage_mobile_hand_over,
(GBoxedCopyFunc) _gst_mpegts_dvb_linkage_mobile_hand_over_copy,
(GFreeFunc) _gst_mpegts_dvb_linkage_mobile_hand_over_free);
DEFINE_STATIC_COPY_FUNCTION (GstMpegtsDVBLinkageEvent,
gst_mpegts_dvb_linkage_event);
DEFINE_STATIC_FREE_FUNCTION (GstMpegtsDVBLinkageEvent,
gst_mpegts_dvb_linkage_event);
G_DEFINE_BOXED_TYPE (GstMpegtsDVBLinkageEvent,
gst_mpegts_dvb_linkage_event,
(GBoxedCopyFunc) _gst_mpegts_dvb_linkage_event_copy,
(GFreeFunc) _gst_mpegts_dvb_linkage_event_free);
DEFINE_STATIC_COPY_FUNCTION (GstMpegtsDVBLinkageExtendedEvent,
gst_mpegts_dvb_linkage_extended_event);
DEFINE_STATIC_FREE_FUNCTION (GstMpegtsDVBLinkageExtendedEvent,
gst_mpegts_dvb_linkage_extended_event);
G_DEFINE_BOXED_TYPE (GstMpegtsDVBLinkageExtendedEvent,
gst_mpegts_dvb_linkage_extended_event,
(GBoxedCopyFunc) _gst_mpegts_dvb_linkage_extended_event_copy,
(GFreeFunc) _gst_mpegts_dvb_linkage_extended_event_free);
/** /**
* gst_mpegts_descriptor_parse_dvb_linkage: * gst_mpegts_descriptor_parse_dvb_linkage:
...@@ -705,7 +754,7 @@ gst_mpegts_descriptor_parse_dvb_linkage (const GstMpegtsDescriptor * descriptor, ...@@ -705,7 +754,7 @@ gst_mpegts_descriptor_parse_dvb_linkage (const GstMpegtsDescriptor * descriptor,
case GST_MPEGTS_DVB_LINKAGE_EXTENDED_EVENT:{ case GST_MPEGTS_DVB_LINKAGE_EXTENDED_EVENT:{
GPtrArray *ext_events; GPtrArray *ext_events;
ext_events = g_ptr_array_new_with_free_func ((GDestroyNotify) ext_events = g_ptr_array_new_with_free_func ((GDestroyNotify)
_gst_mpegts_dvb_linkage_extened_event_free); _gst_mpegts_dvb_linkage_extended_event_free);
res->linkage_data = (gpointer) ext_events; res->linkage_data = (gpointer) ext_events;
...@@ -1061,6 +1110,16 @@ G_DEFINE_BOXED_TYPE (GstMpegtsExtendedEventDescriptor, ...@@ -1061,6 +1110,16 @@ G_DEFINE_BOXED_TYPE (GstMpegtsExtendedEventDescriptor,
(GBoxedCopyFunc) _gst_mpegts_extended_event_descriptor_copy, (GBoxedCopyFunc) _gst_mpegts_extended_event_descriptor_copy,
(GFreeFunc) gst_mpegts_extended_event_descriptor_free); (GFreeFunc) gst_mpegts_extended_event_descriptor_free);
static GstMpegtsExtendedEventItem *
_gst_mpegts_extended_event_item_copy (GstMpegtsExtendedEventItem * source)
{
GstMpegtsExtendedEventItem *copy =
g_slice_dup (GstMpegtsExtendedEventItem, source);
copy->item_description = g_strdup (source->item_description);
copy->item = g_strdup (source->item);
return copy;
}
static void static void
_gst_mpegts_extended_event_item_free (GstMpegtsExtendedEventItem * item) _gst_mpegts_extended_event_item_free (GstMpegtsExtendedEventItem * item)
{ {
...@@ -1069,6 +1128,11 @@ _gst_mpegts_extended_event_item_free (GstMpegtsExtendedEventItem * item) ...@@ -1069,6 +1128,11 @@ _gst_mpegts_extended_event_item_free (GstMpegtsExtendedEventItem * item)
g_slice_free (GstMpegtsExtendedEventItem, item); g_slice_free (GstMpegtsExtendedEventItem, item);
} }
G_DEFINE_BOXED_TYPE (GstMpegtsExtendedEventItem,
gst_mpegts_extended_event_item,
(GBoxedCopyFunc) _gst_mpegts_extended_event_item_copy,
(GFreeFunc) _gst_mpegts_extended_event_item_free);
/** /**
* gst_mpegts_descriptor_parse_dvb_extended_event: * gst_mpegts_descriptor_parse_dvb_extended_event:
* @descriptor: a %GST_MTS_DESC_DVB_EXTENDED_EVENT #GstMpegtsDescriptor * @descriptor: a %GST_MTS_DESC_DVB_EXTENDED_EVENT #GstMpegtsDescriptor
...@@ -1278,11 +1342,15 @@ gst_mpegts_descriptor_parse_dvb_ca_identifier (const GstMpegtsDescriptor * ...@@ -1278,11 +1342,15 @@ gst_mpegts_descriptor_parse_dvb_ca_identifier (const GstMpegtsDescriptor *
} }
/* GST_MTS_DESC_DVB_CONTENT (0x54) */ /* GST_MTS_DESC_DVB_CONTENT (0x54) */
static void
_gst_mpegts_content_free (GstMpegtsContent * content) DEFINE_STATIC_COPY_FUNCTION (GstMpegtsContent, gst_mpegts_content);
{
g_slice_free (GstMpegtsContent, content); DEFINE_STATIC_FREE_FUNCTION (GstMpegtsContent, gst_mpegts_content);
}
G_DEFINE_BOXED_TYPE (GstMpegtsContent,
gst_mpegts_content,
(GBoxedCopyFunc) _gst_mpegts_content_copy,
(GFreeFunc) _gst_mpegts_content_free);
/** /**
* gst_mpegts_descriptor_parse_dvb_content: * gst_mpegts_descriptor_parse_dvb_content:
...@@ -1325,6 +1393,17 @@ gst_mpegts_descriptor_parse_dvb_content (const GstMpegtsDescriptor ...@@ -1325,6 +1393,17 @@ gst_mpegts_descriptor_parse_dvb_content (const GstMpegtsDescriptor
} }
/* GST_MTS_DESC_DVB_PARENTAL_RATING (0x55) */ /* GST_MTS_DESC_DVB_PARENTAL_RATING (0x55) */
static GstMpegtsDVBParentalRatingItem *
_gst_mpegts_dvb_parental_rating_item_copy (GstMpegtsDVBParentalRatingItem *
source)
{
GstMpegtsDVBParentalRatingItem *copy =
g_slice_dup (GstMpegtsDVBParentalRatingItem, source);
copy->country_code = g_strdup (source->country_code);
return copy;
}
static void static void
_gst_mpegts_dvb_parental_rating_item_free (GstMpegtsDVBParentalRatingItem * _gst_mpegts_dvb_parental_rating_item_free (GstMpegtsDVBParentalRatingItem *
item) item)
...@@ -1333,6 +1412,11 @@ _gst_mpegts_dvb_parental_rating_item_free (GstMpegtsDVBParentalRatingItem * ...@@ -1333,6 +1412,11 @@ _gst_mpegts_dvb_parental_rating_item_free (GstMpegtsDVBParentalRatingItem *
g_slice_free (GstMpegtsDVBParentalRatingItem, item); g_slice_free (GstMpegtsDVBParentalRatingItem, item);
} }
G_DEFINE_BOXED_TYPE (GstMpegtsDVBParentalRatingItem,
gst_mpegts_dvb_parental_rating_item,
(GBoxedCopyFunc) _gst_mpegts_dvb_parental_rating_item_copy,
(GFreeFunc) _gst_mpegts_dvb_parental_rating_item_free);
/** /**
* gst_mpegts_descriptor_parse_dvb_parental_rating: * gst_mpegts_descriptor_parse_dvb_parental_rating:
* @descriptor: a %GST_MTS_DESC_DVB_PARENTAL_RATING #GstMpegtsDescriptor * @descriptor: a %GST_MTS_DESC_DVB_PARENTAL_RATING #GstMpegtsDescriptor
...@@ -1403,6 +1487,19 @@ gst_mpegts_descriptor_parse_dvb_parental_rating (const GstMpegtsDescriptor ...@@ -1403,6 +1487,19 @@ gst_mpegts_descriptor_parse_dvb_parental_rating (const GstMpegtsDescriptor
} }
/* GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM (0x5A) */ /* GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM (0x5A) */
DEFINE_STATIC_COPY_FUNCTION (GstMpegtsTerrestrialDeliverySystemDescriptor,
gst_mpegts_terrestrial_delivery_system_descriptor);
DEFINE_STATIC_FREE_FUNCTION (GstMpegtsTerrestrialDeliverySystemDescriptor,
gst_mpegts_terrestrial_delivery_system_descriptor);
G_DEFINE_BOXED_TYPE (GstMpegtsTerrestrialDeliverySystemDescriptor,
gst_mpegts_terrestrial_delivery_system_descriptor,
(GBoxedCopyFunc) _gst_mpegts_terrestrial_delivery_system_descriptor_copy,
(GFreeFunc) _gst_mpegts_terrestrial_delivery_system_descriptor_free);
/** /**
* gst_mpegts_descriptor_parse_terrestrial_delivery_system: * gst_mpegts_descriptor_parse_terrestrial_delivery_system:
* @descriptor: a %GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM #GstMpegtsDescriptor * @descriptor: a %GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM #GstMpegtsDescriptor
...@@ -1579,6 +1676,18 @@ gst_mpegts_descriptor_parse_terrestrial_delivery_system (const ...@@ -1579,6 +1676,18 @@ gst_mpegts_descriptor_parse_terrestrial_delivery_system (const
} }
/* GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME (0x5B) */ /* GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME (0x5B) */
static GstMpegtsDvbMultilingualNetworkNameItem
* _gst_mpegts_dvb_multilingual_network_name_item_copy
(GstMpegtsDvbMultilingualNetworkNameItem * source)
{
GstMpegtsDvbMultilingualNetworkNameItem *copy =
g_slice_dup (GstMpegtsDvbMultilingualNetworkNameItem, source);
copy->language_code = g_strdup (source->language_code);
copy->network_name = g_strdup (source->network_name);
return copy;
}
static void static void
_gst_mpegts_dvb_multilingual_network_name_item_free _gst_mpegts_dvb_multilingual_network_name_item_free
(GstMpegtsDvbMultilingualNetworkNameItem * item) (GstMpegtsDvbMultilingualNetworkNameItem * item)
...@@ -1588,6 +1697,11 @@ static void ...@@ -1588,6 +1697,11 @@ static void
g_slice_free (GstMpegtsDvbMultilingualNetworkNameItem, item); g_slice_free (GstMpegtsDvbMultilingualNetworkNameItem, item);
} }
G_DEFINE_BOXED_TYPE (GstMpegtsDvbMultilingualNetworkNameItem,
gst_mpegts_dvb_multilingual_network_name_item,
(GBoxedCopyFunc) _gst_mpegts_dvb_multilingual_network_name_item_copy,
(GFreeFunc) _gst_mpegts_dvb_multilingual_network_name_item_free);
/** /**
* gst_mpegts_descriptor_parse_dvb_multilingual_network_name: * gst_mpegts_descriptor_parse_dvb_multilingual_network_name:
* @descriptor: a %GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME * @descriptor: a %GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME
...@@ -1634,6 +1748,18 @@ gst_mpegts_descriptor_parse_dvb_multilingual_network_name (const ...@@ -1634,6 +1748,18 @@ gst_mpegts_descriptor_parse_dvb_multilingual_network_name (const
} }
/* GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME (0x5C) */ /* GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME (0x5C) */
static GstMpegtsDvbMultilingualBouquetNameItem
* _gst_mpegts_dvb_multilingual_bouquet_name_item_copy
(GstMpegtsDvbMultilingualBouquetNameItem * source)
{
GstMpegtsDvbMultilingualBouquetNameItem *copy =
g_slice_dup (GstMpegtsDvbMultilingualBouquetNameItem, source);
copy->bouquet_name = g_strdup (source->bouquet_name);
copy->language_code = g_strdup (source->language_code);
return copy;
}
static void static void
_gst_mpegts_dvb_multilingual_bouquet_name_item_free _gst_mpegts_dvb_multilingual_bouquet_name_item_free
(GstMpegtsDvbMultilingualBouquetNameItem * item) (GstMpegtsDvbMultilingualBouquetNameItem * item)
...@@ -1643,6 +1769,11 @@ static void ...@@ -1643,6 +1769,11 @@ static void
g_slice_free (GstMpegtsDvbMultilingualBouquetNameItem, item); g_slice_free (GstMpegtsDvbMultilingualBouquetNameItem, item);
} }
G_DEFINE_BOXED_TYPE (GstMpegtsDvbMultilingualBouquetNameItem,
gst_mpegts_dvb_multilingual_bouquet_name_item,
(GBoxedCopyFunc) _gst_mpegts_dvb_multilingual_bouquet_name_item_copy,
(GFreeFunc) _gst_mpegts_dvb_multilingual_bouquet_name_item_free);
/** /**
* gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name: * gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name:
* @descriptor: a %GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME * @descriptor: a %GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME
...@@ -1689,6 +1820,19 @@ gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name (const ...@@ -1689,6 +1820,19 @@ gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name (const
} }
/* GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME (0x5D) */ /* GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME (0x5D) */
static GstMpegtsDvbMultilingualServiceNameItem
* _gst_mpegts_dvb_multilingual_service_name_item_copy
(GstMpegtsDvbMultilingualServiceNameItem * source)
{
GstMpegtsDvbMultilingualServiceNameItem *copy =
g_slice_dup (GstMpegtsDvbMultilingualServiceNameItem, source);
copy->language_code = g_strdup (source->language_code);
copy->service_name = g_strdup (source->service_name);
copy->provider_name = g_strdup (source->provider_name);
return copy;
}
static void static void
_gst_mpegts_dvb_multilingual_service_name_item_free _gst_mpegts_dvb_multilingual_service_name_item_free
(GstMpegtsDvbMultilingualServiceNameItem * item) (GstMpegtsDvbMultilingualServiceNameItem * item)
...@@ -1699,6 +1843,11 @@ static void ...@@ -1699,6 +1843,11 @@ static void
g_slice_free (GstMpegtsDvbMultilingualServiceNameItem, item); g_slice_free (GstMpegtsDvbMultilingualServiceNameItem, item);
} }
G_DEFINE_BOXED_TYPE (GstMpegtsDvbMultilingualServiceNameItem,
gst_mpegts_dvb_multilingual_service_name_item,
(GBoxedCopyFunc) _gst_mpegts_dvb_multilingual_service_name_item_copy,
(GFreeFunc) _gst_mpegts_dvb_multilingual_service_name_item_free);
/** /**
* gst_mpegts_descriptor_parse_dvb_multilingual_service_name: * gst_mpegts_descriptor_parse_dvb_multilingual_service_name:
* @descriptor: a %GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME * @descriptor: a %GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME
...@@ -1751,6 +1900,18 @@ gst_mpegts_descriptor_parse_dvb_multilingual_service_name (const ...@@ -1751,6 +1900,18 @@ gst_mpegts_descriptor_parse_dvb_multilingual_service_name (const
} }
/* GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT (0x5E) */ /* GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT (0x5E) */
static GstMpegtsDvbMultilingualComponentItem
* _gst_mpegts_dvb_multilingual_component_item_copy
(GstMpegtsDvbMultilingualComponentItem * source)
{
GstMpegtsDvbMultilingualComponentItem *copy =
g_slice_dup (GstMpegtsDvbMultilingualComponentItem, source);
copy->description = g_strdup (source->description);
copy->language_code = g_strdup (source->language_code);
return copy;
}
static void static void
_gst_mpegts_dvb_multilingual_component_item_free _gst_mpegts_dvb_multilingual_component_item_free
(GstMpegtsDvbMultilingualComponentItem * item) (GstMpegtsDvbMultilingualComponentItem * item)
...@@ -1760,6 +1921,11 @@ static void ...@@ -1760,6 +1921,11 @@ static void
g_slice_free (GstMpegtsDvbMultilingualComponentItem, item); g_slice_free (GstMpegtsDvbMultilingualComponentItem, item);
} }
G_DEFINE_BOXED_TYPE (GstMpegtsDvbMultilingualComponentItem,
gst_mpegts_dvb_multilingual_component_item,
(GBoxedCopyFunc) _gst_mpegts_dvb_multilingual_component_item_copy,
(GFreeFunc) _gst_mpegts_dvb_multilingual_component_item_free);
/** /**
* gst_mpegts_descriptor_parse_dvb_multilingual_component: * gst_mpegts_descriptor_parse_dvb_multilingual_component:
* @descriptor: a %GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT * @descriptor: a %GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT
...@@ -2080,11 +2246,26 @@ G_DEFINE_BOXED_TYPE (GstMpegtsT2DeliverySystemDescriptor, ...@@ -2080,11 +2246,26 @@ G_DEFINE_BOXED_TYPE (GstMpegtsT2DeliverySystemDescriptor,
(GBoxedCopyFunc) _gst_mpegts_t2_delivery_system_descriptor_copy, (GBoxedCopyFunc) _gst_mpegts_t2_delivery_system_descriptor_copy,
(GFreeFunc) gst_mpegts_t2_delivery_system_descriptor_free); (GFreeFunc) gst_mpegts_t2_delivery_system_descriptor_free);
static void DEFINE_STATIC_COPY_FUNCTION (GstMpegtsT2DeliverySystemCellExtension,
_gst_mpegts_t2_delivery_system_cell_extension_free gst_mpegts_t2_delivery_system_cell_extension);
(GstMpegtsT2DeliverySystemCellExtension * ext)
DEFINE_STATIC_FREE_FUNCTION (GstMpegtsT2DeliverySystemCellExtension,
gst_mpegts_t2_delivery_system_cell_extension);
G_DEFINE_BOXED_TYPE (GstMpegtsT2DeliverySystemCellExtension,
gst_mpegts_t2_delivery_system_cell_extension,
(GBoxedCopyFunc) _gst_mpegts_t2_delivery_system_cell_extension_copy,
(GFreeFunc) _gst_mpegts_t2_delivery_system_cell_extension_free);
static GstMpegtsT2DeliverySystemCell *
_gst_mpegts_t2_delivery_system_cell_copy (GstMpegtsT2DeliverySystemCell
* source)
{ {
g_slice_free (GstMpegtsT2DeliverySystemCellExtension, ext); GstMpegtsT2DeliverySystemCell *copy =
g_slice_dup (GstMpegtsT2DeliverySystemCell, source);
copy->centre_frequencies = g_array_ref (source->centre_frequencies);
copy->sub_cells = g_ptr_array_ref (source->sub_cells);
return copy;
} }
static void static void
...@@ -2095,6 +2276,11 @@ _gst_mpegts_t2_delivery_system_cell_free (GstMpegtsT2DeliverySystemCell * cell) ...@@ -2095,6 +2276,11 @@ _gst_mpegts_t2_delivery_system_cell_free (GstMpegtsT2DeliverySystemCell * cell)
g_slice_free (GstMpegtsT2DeliverySystemCell, cell); g_slice_free (GstMpegtsT2DeliverySystemCell, cell);
} }
G_DEFINE_BOXED_TYPE (GstMpegtsT2DeliverySystemCell,
gst_mpegts_t2_delivery_system_cell,
(GBoxedCopyFunc) _gst_mpegts_t2_delivery_system_cell_copy,
(GFreeFunc) _gst_mpegts_t2_delivery_system_cell_free);
/** /**
* gst_mpegts_descriptor_parse_dvb_t2_delivery_system: * gst_mpegts_descriptor_parse_dvb_t2_delivery_system:
* @descriptor: a %GST_MTS_DESC_EXT_DVB_T2_DELIVERY_SYSTEM #GstMpegtsDescriptor * @descriptor: a %GST_MTS_DESC_EXT_DVB_T2_DELIVERY_SYSTEM #GstMpegtsDescriptor
......
...@@ -254,6 +254,11 @@ struct _GstMpegtsSatelliteDeliverySystemDescriptor ...@@ -254,6 +254,11 @@ struct _GstMpegtsSatelliteDeliverySystemDescriptor
GstMpegtsDVBCodeRate fec_inner; GstMpegtsDVBCodeRate fec_inner;
}; };
#define GST_TYPE_MPEGTS_SATELLITE_DELIVERY_SYSTEM_DESCRIPTOR (gst_mpegts_satellite_delivery_system_descriptor_get_type())
GST_MPEGTS_API
GType gst_mpegts_satellite_delivery_system_descriptor_get_type(void);
GST_MPEGTS_API GST_MPEGTS_API
gboolean gst_mpegts_descriptor_parse_satellite_delivery_system (const GstMpegtsDescriptor *descriptor, gboolean gst_mpegts_descriptor_parse_satellite_delivery_system (const GstMpegtsDescriptor *descriptor,
GstMpegtsSatelliteDeliverySystemDescriptor *res); GstMpegtsSatelliteDeliverySystemDescriptor *res);
...@@ -295,6 +300,7 @@ GType gst_mpegts_dvb_cable_delivery_system_descriptor_get_type (void); ...@@ -295,6 +300,7 @@ GType gst_mpegts_dvb_cable_delivery_system_descriptor_get_type (void);
GST_MPEGTS_API GST_MPEGTS_API
gboolean gst_mpegts_descriptor_parse_cable_delivery_system (const GstMpegtsDescriptor *descriptor, gboolean gst_mpegts_descriptor_parse_cable_delivery_system (const GstMpegtsDescriptor *descriptor,
GstMpegtsCableDeliverySystemDescriptor *res); GstMpegtsCableDeliverySystemDescriptor *res);
GST_MPEGTS_API GST_MPEGTS_API
void gst_mpegts_dvb_cable_delivery_system_descriptor_free (GstMpegtsCableDeliverySystemDescriptor * source); void gst_mpegts_dvb_cable_delivery_system_descriptor_free (GstMpegtsCableDeliverySystemDescriptor * source);
...@@ -372,6 +378,11 @@ struct _GstMpegtsDVBServiceListItem ...@@ -372,6 +378,11 @@ struct _GstMpegtsDVBServiceListItem
GstMpegtsDVBServiceType type; GstMpegtsDVBServiceType type;
}; };
#define GST_TYPE_MPEGTS_DVB_SERVICE_LIST_ITEM (gst_mpegts_dvb_service_list_item_get_type ())
GST_MPEGTS_API
GType gst_mpegts_dvb_service_list_item_get_type (void);
GST_MPEGTS_API GST_MPEGTS_API
gboolean gst_mpegts_descriptor_parse_dvb_service_list (const GstMpegtsDescriptor * descriptor, gboolean gst_mpegts_descriptor_parse_dvb_service_list (const GstMpegtsDescriptor * descriptor,
GPtrArray ** list); GPtrArray ** list);
...@@ -478,14 +489,29 @@ GType gst_mpegts_dvb_linkage_descriptor_get_type (void); ...@@ -478,14 +489,29 @@ GType gst_mpegts_dvb_linkage_descriptor_get_type (void);
GST_MPEGTS_API GST_MPEGTS_API
void gst_mpegts_dvb_linkage_descriptor_free (GstMpegtsDVBLinkageDescriptor * source); void gst_mpegts_dvb_linkage_descriptor_free (GstMpegtsDVBLinkageDescriptor * source);
#define GST_TYPE_MPEGTS_DVB_LINKAGE_MOBILE_HAND_OVER (gst_mpegts_dvb_linkage_mobile_hand_over_get_type())
GST_MPEGTS_API
GType gst_mpegts_dvb_linkage_mobile_hand_over_get_type (void);
GST_MPEGTS_API GST_MPEGTS_API
const GstMpegtsDVBLinkageMobileHandOver * gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over const GstMpegtsDVBLinkageMobileHandOver * gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over
(const GstMpegtsDVBLinkageDescriptor * desc); (const GstMpegtsDVBLinkageDescriptor * desc);
#define GST_TYPE_MPEGTS_DVB_LINKAGE_EVENT (gst_mpegts_dvb_linkage_event_get_type())
GST_MPEGTS_API
GType gst_mpegts_dvb_linkage_event_get_type (void);
GST_MPEGTS_API GST_MPEGTS_API
const GstMpegtsDVBLinkageEvent * gst_mpegts_dvb_linkage_descriptor_get_event const GstMpegtsDVBLinkageEvent * gst_mpegts_dvb_linkage_descriptor_get_event
(const GstMpegtsDVBLinkageDescriptor * desc); (const GstMpegtsDVBLinkageDescriptor * desc);
#define GST_TYPE_MPEGTS_DVB_LINKAGE_EXTENDED_EVENT (gst_mpegts_dvb_linkage_extended_event_get_type())
GST_MPEGTS_API
GType gst_mpegts_dvb_linkage_extended_event_get_type (void);
GST_MPEGTS_API GST_MPEGTS_API
const GPtrArray * gst_mpegts_dvb_linkage_descriptor_get_extended_event const GPtrArray * gst_mpegts_dvb_linkage_descriptor_get_extended_event
(const GstMpegtsDVBLinkageDescriptor * desc); (const GstMpegtsDVBLinkageDescriptor * desc);
...@@ -513,6 +539,11 @@ struct _GstMpegtsExtendedEventItem ...@@ -513,6 +539,11 @@ struct _GstMpegtsExtendedEventItem
gchar *item; gchar *item;
}; };
#define GST_TYPE_MPEGTS_EXTENDED_EVENT_ITEM (gst_mpegts_extended_event_item_get_type())
GST_MPEGTS_API
GType gst_mpegts_extended_event_item_get_type(void);
/** /**
* GstMpegtsExtendedEventDescriptor: * GstMpegtsExtendedEventDescriptor:
* @descriptor_number: * @descriptor_number:
...@@ -619,6 +650,11 @@ gboolean gst_mpegts_descriptor_parse_dvb_content (const GstMpegtsDescriptor * ...@@ -619,6 +650,11 @@ gboolean gst_mpegts_descriptor_parse_dvb_content (const GstMpegtsDescriptor *
/* GST_MTS_DESC_DVB_PARENTAL_RATING (0x55) */ /* GST_MTS_DESC_DVB_PARENTAL_RATING (0x55) */
typedef struct _GstMpegtsDVBParentalRatingItem GstMpegtsDVBParentalRatingItem; typedef struct _GstMpegtsDVBParentalRatingItem GstMpegtsDVBParentalRatingItem;
#define GST_TYPE_MPEGTS_DVB_PARENTAL_RATING_ITEM (gst_mpegts_dvb_parental_rating_item_get_type())
GST_MPEGTS_API
GType gst_mpegts_dvb_parental_rating_item_get_type (void);
/** /**
* GstMpegtsDVBParentalRating: * GstMpegtsDVBParentalRating:
* @country_code: This 24-bit field identifies a country using the 3-character * @country_code: This 24-bit field identifies a country using the 3-character
...@@ -749,6 +785,11 @@ struct _GstMpegtsTerrestrialDeliverySystemDescriptor ...@@ -749,6 +785,11 @@ struct _GstMpegtsTerrestrialDeliverySystemDescriptor
gboolean other_frequency; gboolean other_frequency;
}; };
#define GST_TYPE_MPEGTS_TERRESTRIAL_DELIVERY_SYSTEM_DESCRIPTOR (gst_mpegts_terrestrial_delivery_system_descriptor_get_type())
GST_MPEGTS_API
GType gst_mpegts_terrestrial_delivery_system_descriptor_get_type(void);
GST_MPEGTS_API GST_MPEGTS_API
gboolean gst_mpegts_descriptor_parse_terrestrial_delivery_system (const GstMpegtsDescriptor gboolean gst_mpegts_descriptor_parse_terrestrial_delivery_system (const GstMpegtsDescriptor
*descriptor, GstMpegtsTerrestrialDeliverySystemDescriptor * res); *descriptor, GstMpegtsTerrestrialDeliverySystemDescriptor * res);
...@@ -769,6 +810,11 @@ struct _GstMpegtsDvbMultilingualNetworkNameItem ...@@ -769,6 +810,11 @@ struct _GstMpegtsDvbMultilingualNetworkNameItem
gchar *network_name; gchar *network_name;
}; };
#define GST_TYPE_MPEGTS_DVB_MULTILINGUAL_NETWORK_NAME_ITEM (gst_mpegts_dvb_multilingual_network_name_item_get_type())
GST_MPEGTS_API
GType gst_mpegts_dvb_multilingual_network_name_item_get_type(void);
GST_MPEGTS_API GST_MPEGTS_API
gboolean gst_mpegts_descriptor_parse_dvb_multilingual_network_name (const GstMpegtsDescriptor gboolean gst_mpegts_descriptor_parse_dvb_multilingual_network_name (const GstMpegtsDescriptor
*descriptor, GPtrArray ** network_name_items); *descriptor, GPtrArray ** network_name_items);
...@@ -789,6 +835,11 @@ struct _GstMpegtsDvbMultilingualBouquetNameItem ...@@ -789,6 +835,11 @@ struct _GstMpegtsDvbMultilingualBouquetNameItem
gchar *bouquet_name; gchar *bouquet_name;
}; };