diff options
author | Stéphane Cerveau <scerveau@collabora.com> | 2021-02-16 14:43:32 +0100 |
---|---|---|
committer | Stéphane Cerveau <scerveau@collabora.com> | 2021-03-29 12:45:23 +0200 |
commit | 0ea8c2e3a1e76d70b0eb251193f5cd21063fcd93 (patch) | |
tree | 63e37909297c4b7cadbbadaca89566df564b4efa | |
parent | 084c01dd5aba69d920435060110addcff838008d (diff) |
smpte: 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
-rw-r--r-- | gst/smpte/gstsmpte.c | 12 | ||||
-rw-r--r-- | gst/smpte/gstsmpte.h | 3 | ||||
-rw-r--r-- | gst/smpte/gstsmptealpha.c | 13 | ||||
-rw-r--r-- | gst/smpte/gstsmptealpha.h | 3 | ||||
-rw-r--r-- | gst/smpte/plugin.c | 9 |
5 files changed, 14 insertions, 26 deletions
diff --git a/gst/smpte/gstsmpte.c b/gst/smpte/gstsmpte.c index 54c077ee3..0516c9cab 100644 --- a/gst/smpte/gstsmpte.c +++ b/gst/smpte/gstsmpte.c @@ -149,6 +149,9 @@ static GstStateChangeReturn gst_smpte_change_state (GstElement * element, #define gst_smpte_parent_class parent_class G_DEFINE_TYPE (GstSMPTE, gst_smpte, GST_TYPE_ELEMENT); +GST_ELEMENT_REGISTER_DEFINE_WITH_CODE (smpte, "smpte", GST_RANK_NONE, + GST_TYPE_SMPTE, GST_DEBUG_CATEGORY_INIT (gst_smpte_debug, "smpte", 0, + "SMPTE transition effect")); static void gst_smpte_class_init (GstSMPTEClass * klass) @@ -662,12 +665,3 @@ gst_smpte_change_state (GstElement * element, GstStateChange transition) } return ret; } - -gboolean -gst_smpte_plugin_init (GstPlugin * plugin) -{ - GST_DEBUG_CATEGORY_INIT (gst_smpte_debug, "smpte", 0, - "SMPTE transition effect"); - - return gst_element_register (plugin, "smpte", GST_RANK_NONE, GST_TYPE_SMPTE); -} diff --git a/gst/smpte/gstsmpte.h b/gst/smpte/gstsmpte.h index 3039942e4..4458b3134 100644 --- a/gst/smpte/gstsmpte.h +++ b/gst/smpte/gstsmpte.h @@ -79,7 +79,8 @@ struct _GstSMPTEClass { }; GType gst_smpte_get_type (void); -gboolean gst_smpte_plugin_init (GstPlugin * plugin); + +GST_ELEMENT_REGISTER_DECLARE (smpte); G_END_DECLS #endif /* __GST_SMPTE_H__ */ diff --git a/gst/smpte/gstsmptealpha.c b/gst/smpte/gstsmptealpha.c index 3d7fe1171..4046ced72 100644 --- a/gst/smpte/gstsmptealpha.c +++ b/gst/smpte/gstsmptealpha.c @@ -153,6 +153,9 @@ static GstCaps *gst_smpte_alpha_transform_caps (GstBaseTransform * trans, #define gst_smpte_alpha_parent_class parent_class G_DEFINE_TYPE (GstSMPTEAlpha, gst_smpte_alpha, GST_TYPE_VIDEO_FILTER); +GST_ELEMENT_REGISTER_DEFINE_WITH_CODE (smptealpha, "smptealpha", GST_RANK_NONE, + GST_TYPE_SMPTE_ALPHA, GST_DEBUG_CATEGORY_INIT (gst_smpte_alpha_debug, + "smptealpha", 0, "SMPTE alpha effect")); static void gst_smpte_alpha_class_init (GstSMPTEAlphaClass * klass) @@ -800,13 +803,3 @@ gst_smpte_alpha_get_property (GObject * object, guint prop_id, break; } } - -gboolean -gst_smpte_alpha_plugin_init (GstPlugin * plugin) -{ - GST_DEBUG_CATEGORY_INIT (gst_smpte_alpha_debug, "smptealpha", 0, - "SMPTE alpha effect"); - - return gst_element_register (plugin, "smptealpha", GST_RANK_NONE, - GST_TYPE_SMPTE_ALPHA); -} diff --git a/gst/smpte/gstsmptealpha.h b/gst/smpte/gstsmptealpha.h index f8d2b3549..630137fc9 100644 --- a/gst/smpte/gstsmptealpha.h +++ b/gst/smpte/gstsmptealpha.h @@ -72,7 +72,8 @@ struct _GstSMPTEAlphaClass { }; GType gst_smpte_alpha_get_type (void); -gboolean gst_smpte_alpha_plugin_init (GstPlugin * plugin); + +GST_ELEMENT_REGISTER_DECLARE (smptealpha); G_END_DECLS diff --git a/gst/smpte/plugin.c b/gst/smpte/plugin.c index 43eba8a7e..5595162d4 100644 --- a/gst/smpte/plugin.c +++ b/gst/smpte/plugin.c @@ -27,13 +27,12 @@ static gboolean plugin_init (GstPlugin * plugin) { - if (!gst_smpte_plugin_init (plugin)) - return FALSE; + gboolean ret = FALSE; - if (!gst_smpte_alpha_plugin_init (plugin)) - return FALSE; + ret |= GST_ELEMENT_REGISTER (smpte, plugin); + ret |= GST_ELEMENT_REGISTER (smptealpha, plugin); - return TRUE; + return ret; } GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, |