amrnb: allow per feature registration
authorStéphane Cerveau <scerveau@collabora.com>
Mon, 29 Mar 2021 08:38:07 +0000 (10:38 +0200)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Mon, 29 Mar 2021 19:13:36 +0000 (19:13 +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-ugly/-/merge_requests/79>

ext/amrnb/amrnb.c
ext/amrnb/amrnbdec.c
ext/amrnb/amrnbdec.h
ext/amrnb/amrnbenc.c
ext/amrnb/amrnbenc.h

index aa9c695..3fe3a00 100644 (file)
 static gboolean
 plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "amrnbdec",
-      GST_RANK_PRIMARY, GST_TYPE_AMRNBDEC) &&
-      gst_element_register (plugin, "amrnbenc",
-      GST_RANK_SECONDARY, GST_TYPE_AMRNBENC);
+  gboolean ret = FALSE;
+
+  ret |= GST_ELEMENT_REGISTER (amrnbdec, plugin);
+  ret |= GST_ELEMENT_REGISTER (amrnbenc, plugin);
+
+  return ret;
 }
 
 
index fd31b9e..e984fb8 100644 (file)
@@ -103,6 +103,8 @@ static GstFlowReturn gst_amrnbdec_handle_frame (GstAudioDecoder * dec,
 
 #define gst_amrnbdec_parent_class parent_class
 G_DEFINE_TYPE (GstAmrnbDec, gst_amrnbdec, GST_TYPE_AUDIO_DECODER);
+GST_ELEMENT_REGISTER_DEFINE (amrnbdec, "amrnbdec", GST_RANK_PRIMARY,
+    GST_TYPE_AMRNBDEC);
 
 static void
 gst_amrnbdec_class_init (GstAmrnbDecClass * klass)
index f8407a2..25b3db2 100644 (file)
@@ -64,6 +64,7 @@ struct _GstAmrnbDecClass {
 };
 
 GType gst_amrnbdec_get_type (void);
+GST_ELEMENT_REGISTER_DECLARE (amrnbdec);
 
 G_END_DECLS
 
index c93546f..8417326 100644 (file)
@@ -98,6 +98,8 @@ static GstFlowReturn gst_amrnbenc_handle_frame (GstAudioEncoder * enc,
 
 #define gst_amrnbenc_parent_class parent_class
 G_DEFINE_TYPE (GstAmrnbEnc, gst_amrnbenc, GST_TYPE_AUDIO_ENCODER);
+GST_ELEMENT_REGISTER_DEFINE (amrnbenc, "amrnbenc", GST_RANK_SECONDARY,
+    GST_TYPE_AMRNBENC);
 
 static void
 gst_amrnbenc_set_property (GObject * object, guint prop_id,
index 9546a44..83262e4 100644 (file)
@@ -60,6 +60,7 @@ struct _GstAmrnbEncClass {
 };
 
 GType gst_amrnbenc_get_type (void);
+GST_ELEMENT_REGISTER_DECLARE (amrnbenc);
 
 G_END_DECLS