summaryrefslogtreecommitdiff
path: root/gst-libs/gst/mpegts/gstmpegtsdescriptor.c
diff options
context:
space:
mode:
authorRussel Winder <russel@winder.org.uk>2018-11-08 08:15:41 +0000
committerRussel Winder <russel@winder.org.uk>2018-11-08 08:15:41 +0000
commit0341af78a46c6fa1e934d6ce8b1cde43e05b2519 (patch)
tree1adc0468d03705588749c3043892e9f5c17a0cd4 /gst-libs/gst/mpegts/gstmpegtsdescriptor.c
parent2d0243fc683fb53bce38680506744f628d5799c4 (diff)
downloadgstreamer-plugins-bad-0341af78a46c6fa1e934d6ce8b1cde43e05b2519.tar.gz
mpegts: Register a number of new boxed types to support auto generation of bindings.
Diffstat (limited to 'gst-libs/gst/mpegts/gstmpegtsdescriptor.c')
-rw-r--r--gst-libs/gst/mpegts/gstmpegtsdescriptor.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/gst-libs/gst/mpegts/gstmpegtsdescriptor.c b/gst-libs/gst/mpegts/gstmpegtsdescriptor.c
index a553c9493..64e15467f 100644
--- a/gst-libs/gst/mpegts/gstmpegtsdescriptor.c
+++ b/gst-libs/gst/mpegts/gstmpegtsdescriptor.c
@@ -30,6 +30,18 @@
#include "mpegts.h"
#include "gstmpegts-private.h"
+#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); \
+}
+
/**
* SECTION:gstmpegtsdescriptor
* @title: Base MPEG-TS descriptors
@@ -1068,6 +1080,28 @@ gst_mpegts_descriptor_from_iso_639_language (const gchar * language)
return descriptor;
}
+DEFINE_STATIC_COPY_FUNCTION (GstMpegtsLogicalChannelDescriptor,
+ gst_mpegts_logical_channel_descriptor);
+
+DEFINE_STATIC_FREE_FUNCTION (GstMpegtsLogicalChannelDescriptor,
+ gst_mpegts_logical_channel_descriptor);
+
+G_DEFINE_BOXED_TYPE (GstMpegtsLogicalChannelDescriptor,
+ gst_mpegts_logical_channel_descriptor,
+ (GBoxedCopyFunc) _gst_mpegts_logical_channel_descriptor_copy,
+ (GFreeFunc) _gst_mpegts_logical_channel_descriptor_free);
+
+DEFINE_STATIC_COPY_FUNCTION (GstMpegtsLogicalChannel,
+ gst_mpegts_logical_channel);
+
+DEFINE_STATIC_FREE_FUNCTION (GstMpegtsLogicalChannel,
+ gst_mpegts_logical_channel);
+
+G_DEFINE_BOXED_TYPE (GstMpegtsLogicalChannel,
+ gst_mpegts_logical_channel,
+ (GBoxedCopyFunc) _gst_mpegts_logical_channel_copy,
+ (GFreeFunc) _gst_mpegts_logical_channel_free);
+
/**
* gst_mpegts_descriptor_parse_logical_channel:
* @descriptor: a %GST_MTS_DESC_DTG_LOGICAL_CHANNEL #GstMpegtsDescriptor