From ff47ef9ab95a238df1f9eafd717743eb5021e26e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Sat, 27 Oct 2018 13:57:45 +0100 Subject: [PATCH] mpegts: Add boxed type for DVB CableDeliverySystem descriptor --- gst-libs/gst/mpegts/gst-dvb-descriptor.c | 23 ++++++++++++++++++++++- gst-libs/gst/mpegts/gst-dvb-descriptor.h | 7 +++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/gst-libs/gst/mpegts/gst-dvb-descriptor.c b/gst-libs/gst/mpegts/gst-dvb-descriptor.c index bd8a069b5f..81c85221b0 100644 --- a/gst-libs/gst/mpegts/gst-dvb-descriptor.c +++ b/gst-libs/gst/mpegts/gst-dvb-descriptor.c @@ -293,8 +293,29 @@ gst_mpegts_descriptor_parse_satellite_delivery_system (const GstMpegtsDescriptor return TRUE; } - /* 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); + + return copy; +} + +void gst_mpegts_dvb_cable_delivery_system_descriptor_free + (GstMpegtsCableDeliverySystemDescriptor * source) +{ + g_slice_free (GstMpegtsCableDeliverySystemDescriptor, source); +} + +G_DEFINE_BOXED_TYPE (GstMpegtsCableDeliverySystemDescriptor, + gst_mpegts_dvb_cable_delivery_system_descriptor, + (GBoxedCopyFunc) _gst_mpegts_dvb_cable_delivery_system_descriptor_copy, + (GFreeFunc) gst_mpegts_dvb_cable_delivery_system_descriptor_free); + /** * gst_mpegts_descriptor_parse_cable_delivery_system: * @descriptor: a %GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM #GstMpegtsDescriptor diff --git a/gst-libs/gst/mpegts/gst-dvb-descriptor.h b/gst-libs/gst/mpegts/gst-dvb-descriptor.h index 80c1fa3c88..8b87a1d470 100644 --- a/gst-libs/gst/mpegts/gst-dvb-descriptor.h +++ b/gst-libs/gst/mpegts/gst-dvb-descriptor.h @@ -287,9 +287,16 @@ struct _GstMpegtsCableDeliverySystemDescriptor GstMpegtsDVBCodeRate fec_inner; }; +#define GST_TYPE_MPEGTS_DVB_CABLE_DELIVERY_SYSTEM_DESCRIPTOR ( gst_mpegts_dvb_cable_system_delivery_descriptor_get_type()) + +GST_MPEGTS_API +GType gst_mpegts_dvb_cable_delivery_system_descriptor_get_type (void); + GST_MPEGTS_API gboolean gst_mpegts_descriptor_parse_cable_delivery_system (const GstMpegtsDescriptor *descriptor, GstMpegtsCableDeliverySystemDescriptor *res); +GST_MPEGTS_API +void gst_mpegts_dvb_cable_delivery_system_descriptor_free (GstMpegtsCableDeliverySystemDescriptor * source); /* GST_MTS_DESC_DVB_BOUQUET_NAME (0x47) */