From 84e575dd598bbcb68e066919e1f9d5bd6e0ccb7e Mon Sep 17 00:00:00 2001 From: =?utf8?q?St=C3=A9phane=20Cerveau?= Date: Thu, 11 Feb 2021 09:34:13 +0100 Subject: [PATCH] cdparanoiasrc: allow per feature registration 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: --- ext/cdparanoia/gstcdparanoiasrc.c | 10 ++++++---- ext/cdparanoia/gstcdparanoiasrc.h | 2 ++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ext/cdparanoia/gstcdparanoiasrc.c b/ext/cdparanoia/gstcdparanoiasrc.c index 10350fb..572fb89 100644 --- a/ext/cdparanoia/gstcdparanoiasrc.c +++ b/ext/cdparanoia/gstcdparanoiasrc.c @@ -59,6 +59,8 @@ GST_DEBUG_CATEGORY_STATIC (gst_cd_paranoia_src_debug); #define gst_cd_paranoia_src_parent_class parent_class G_DEFINE_TYPE (GstCdParanoiaSrc, gst_cd_paranoia_src, GST_TYPE_AUDIO_CD_SRC); +GST_ELEMENT_REGISTER_DEFINE (cdparanoiasrc, "cdparanoiasrc", GST_RANK_SECONDARY, + GST_TYPE_CD_PARANOIA_SRC); static void gst_cd_paranoia_src_finalize (GObject * obj); static void gst_cd_paranoia_src_get_property (GObject * object, guint prop_id, @@ -511,12 +513,12 @@ gst_cd_paranoia_src_get_property (GObject * object, guint prop_id, static gboolean plugin_init (GstPlugin * plugin) { + gboolean ret = FALSE; + GST_DEBUG_CATEGORY_INIT (gst_cd_paranoia_src_debug, "cdparanoiasrc", 0, "CD Paranoia Source"); - if (!gst_element_register (plugin, "cdparanoiasrc", GST_RANK_SECONDARY, - GST_TYPE_CD_PARANOIA_SRC)) - return FALSE; + ret |= GST_ELEMENT_REGISTER (cdparanoiasrc, plugin); #ifdef ENABLE_NLS GST_DEBUG ("binding text domain %s to locale dir %s", GETTEXT_PACKAGE, @@ -525,7 +527,7 @@ plugin_init (GstPlugin * plugin) bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); #endif - return TRUE; + return ret; } GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, diff --git a/ext/cdparanoia/gstcdparanoiasrc.h b/ext/cdparanoia/gstcdparanoiasrc.h index 0f0be38..9c00bc4 100644 --- a/ext/cdparanoia/gstcdparanoiasrc.h +++ b/ext/cdparanoia/gstcdparanoiasrc.h @@ -94,6 +94,8 @@ struct _GstCdParanoiaSrcClass { void (*uncorrected_error) (GstCdParanoiaSrc * src, gint sector); }; +GST_ELEMENT_REGISTER_DECLARE (cdparanoiasrc); + GType gst_cd_paranoia_src_get_type (void); G_END_DECLS -- 2.7.4