sbc: allow per feature registration
authorStéphane Cerveau <scerveau@collabora.com>
Fri, 19 Feb 2021 11:09:18 +0000 (12:09 +0100)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Tue, 23 Mar 2021 14:19:17 +0000 (14:19 +0000)
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038>

ext/sbc/gstsbcdec.c
ext/sbc/gstsbcdec.h
ext/sbc/gstsbcenc.c
ext/sbc/gstsbcenc.h
ext/sbc/sbc-plugin.c

index 84b5157..c6709f7 100644 (file)
@@ -48,6 +48,8 @@ GST_DEBUG_CATEGORY_STATIC (sbc_dec_debug);
 
 #define parent_class gst_sbc_dec_parent_class
 G_DEFINE_TYPE (GstSbcDec, gst_sbc_dec, GST_TYPE_AUDIO_DECODER);
+GST_ELEMENT_REGISTER_DEFINE (sbcdec, "sbcdec", GST_RANK_PRIMARY,
+    GST_TYPE_SBC_DEC);
 
 static GstStaticPadTemplate sbc_dec_sink_factory =
 GST_STATIC_PAD_TEMPLATE ("sink", GST_PAD_SINK, GST_PAD_ALWAYS,
index 10a15ba..d2ea674 100644 (file)
@@ -56,4 +56,6 @@ struct _GstSbcDecClass {
 
 GType gst_sbc_dec_get_type (void);
 
+GST_ELEMENT_REGISTER_DECLARE (sbcdec);
+
 G_END_DECLS
index 2bd03be..6dae1bf 100644 (file)
@@ -47,6 +47,7 @@ GST_DEBUG_CATEGORY_STATIC (sbc_enc_debug);
 #define GST_CAT_DEFAULT sbc_enc_debug
 
 G_DEFINE_TYPE (GstSbcEnc, gst_sbc_enc, GST_TYPE_AUDIO_ENCODER);
+GST_ELEMENT_REGISTER_DEFINE (sbcenc, "sbcenc", GST_RANK_NONE, GST_TYPE_SBC_ENC);
 
 static GstStaticPadTemplate sbc_enc_sink_factory =
 GST_STATIC_PAD_TEMPLATE ("sink", GST_PAD_SINK, GST_PAD_ALWAYS,
index 129c6b2..fd3c94e 100644 (file)
@@ -58,4 +58,6 @@ struct _GstSbcEncClass {
 
 GType gst_sbc_enc_get_type (void);
 
+GST_ELEMENT_REGISTER_DECLARE (sbcenc);
+
 G_END_DECLS
index 08dd387..3761cec 100644 (file)
 #include "gstsbcdec.h"
 #include "gstsbcenc.h"
 
-#include <string.h>
 
 static gboolean
 plugin_init (GstPlugin * plugin)
 {
-  gst_element_register (plugin, "sbcdec", GST_RANK_PRIMARY, GST_TYPE_SBC_DEC);
-  gst_element_register (plugin, "sbcenc", GST_RANK_NONE, GST_TYPE_SBC_ENC);
-  return TRUE;
+  gboolean ret = FALSE;
+
+  ret |= GST_ELEMENT_REGISTER (sbcdec, plugin);
+  ret |= GST_ELEMENT_REGISTER (sbcenc, plugin);
+  return ret;
 }
 
 GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,