soundtouch: allow per feature registration
authorStéphane Cerveau <scerveau@collabora.com>
Fri, 19 Feb 2021 11:41:41 +0000 (12:41 +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/soundtouch/gstbpmdetect.cc
ext/soundtouch/gstbpmdetect.hh
ext/soundtouch/gstpitch.cc
ext/soundtouch/gstpitch.hh
ext/soundtouch/plugin.c

index d4cc619..d5eee06 100644 (file)
@@ -79,6 +79,8 @@ struct _GstBPMDetectPrivate
 
 #define gst_bpm_detect_parent_class parent_class
 G_DEFINE_TYPE_WITH_PRIVATE (GstBPMDetect, gst_bpm_detect, GST_TYPE_AUDIO_FILTER);
+GST_ELEMENT_REGISTER_DEFINE (bpmdetect, "bpmdetect", GST_RANK_NONE,
+    GST_TYPE_BPM_DETECT);
 
 static void gst_bpm_detect_finalize (GObject * object);
 static gboolean gst_bpm_detect_stop (GstBaseTransform * trans);
index 1c411dc..2c94920 100644 (file)
@@ -51,6 +51,7 @@ struct _GstBPMDetectClass {
 };
 
 GType gst_bpm_detect_get_type (void);
+GST_ELEMENT_REGISTER_DECLARE (bpmdetect);
 
 
 G_END_DECLS
index 3853802..e15a6a6 100644 (file)
@@ -118,6 +118,8 @@ static gboolean gst_pitch_src_query (GstPad * pad, GstObject * parent,
 
 #define gst_pitch_parent_class parent_class
 G_DEFINE_TYPE_WITH_PRIVATE (GstPitch, gst_pitch, GST_TYPE_ELEMENT);
+GST_ELEMENT_REGISTER_DEFINE (pitch, "pitch", GST_RANK_NONE,
+    GST_TYPE_PITCH);
 
 static void
 gst_pitch_class_init (GstPitchClass * klass)
index 1efb59b..acfe803 100644 (file)
@@ -89,6 +89,7 @@ struct _GstPitchClass
 };
 
 GType gst_pitch_get_type (void);
+GST_ELEMENT_REGISTER_DECLARE (pitch);
 
 G_END_DECLS
 
index 5092046..9dd7c1d 100644 (file)
 static gboolean
 plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "pitch", GST_RANK_NONE, GST_TYPE_PITCH)
-      && gst_element_register (plugin, "bpmdetect", GST_RANK_NONE,
-      GST_TYPE_BPM_DETECT);
+  gboolean ret = FALSE;
+
+  ret |= GST_ELEMENT_REGISTER (pitch, plugin);
+  ret |= GST_ELEMENT_REGISTER (bpmdetect, plugin);
+
+  return ret;
 }
 
 GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,