From 0d125a2e8a0cd5b51fbc0cb7f299db6eeb08a051 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Cerveau?= Date: Thu, 18 Feb 2021 10:24:18 +0100 Subject: [PATCH] musepack: 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/musepack/gstmusepackdec.c | 13 +++++++------ ext/musepack/gstmusepackdec.h | 2 ++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/ext/musepack/gstmusepackdec.c b/ext/musepack/gstmusepackdec.c index 892828b6bd..cf7a08e512 100644 --- a/ext/musepack/gstmusepackdec.c +++ b/ext/musepack/gstmusepackdec.c @@ -74,8 +74,12 @@ static GstStateChangeReturn gst_musepackdec_change_state (GstElement * element, GstStateChange transition); #define parent_class gst_musepackdec_parent_class -G_DEFINE_TYPE (GstMusepackDec, gst_musepackdec, GST_TYPE_ELEMENT); - +G_DEFINE_TYPE_WITH_CODE (GstMusepackDec, gst_musepackdec, GST_TYPE_ELEMENT, + GST_DEBUG_CATEGORY_INIT (musepackdec_debug, "musepackdec", 0, + "mpc decoder"); + ); +GST_ELEMENT_REGISTER_DEFINE (musepackdec, "musepackdec", + GST_RANK_PRIMARY, GST_TYPE_MUSEPACK_DEC); static void gst_musepackdec_class_init (GstMusepackDecClass * klass) { @@ -628,10 +632,7 @@ gst_musepackdec_change_state (GstElement * element, GstStateChange transition) static gboolean plugin_init (GstPlugin * plugin) { - GST_DEBUG_CATEGORY_INIT (musepackdec_debug, "musepackdec", 0, "mpc decoder"); - - return gst_element_register (plugin, "musepackdec", - GST_RANK_PRIMARY, GST_TYPE_MUSEPACK_DEC); + return GST_ELEMENT_REGISTER (musepackdec, plugin); } GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, diff --git a/ext/musepack/gstmusepackdec.h b/ext/musepack/gstmusepackdec.h index eaee5d958e..0da51ab9e6 100644 --- a/ext/musepack/gstmusepackdec.h +++ b/ext/musepack/gstmusepackdec.h @@ -61,6 +61,8 @@ typedef struct _GstMusepackDecClass { GType gst_musepackdec_get_type (void); +GST_ELEMENT_REGISTER_DECLARE (musepackdec); + G_END_DECLS #endif /* __GST_MUSEPACK_DEC_H__ */