diff options
author | Stéphane Cerveau <scerveau@collabora.com> | 2021-02-25 15:22:15 +0100 |
---|---|---|
committer | GStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org> | 2021-04-11 16:16:55 +0000 |
commit | 891be511057dbcdf1f38740e55cbd376c4b25894 (patch) | |
tree | b077e8cd0b584ebe2a10950ef2398ab3f60b48b4 /gst/siren | |
parent | 7f60138ef68e2a1fef8ccd4ff3710dfccd243314 (diff) | |
download | gstreamer-plugins-bad-891be511057dbcdf1f38740e55cbd376c4b25894.tar.gz |
gst-plugins: 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-bad/-/merge_requests/2110>
Diffstat (limited to 'gst/siren')
-rw-r--r-- | gst/siren/gstsiren.c | 11 | ||||
-rw-r--r-- | gst/siren/gstsirendec.c | 9 | ||||
-rw-r--r-- | gst/siren/gstsirendec.h | 3 | ||||
-rw-r--r-- | gst/siren/gstsirenenc.c | 10 | ||||
-rw-r--r-- | gst/siren/gstsirenenc.h | 3 |
5 files changed, 11 insertions, 25 deletions
diff --git a/gst/siren/gstsiren.c b/gst/siren/gstsiren.c index 6fde346dc..eb8d1d24a 100644 --- a/gst/siren/gstsiren.c +++ b/gst/siren/gstsiren.c @@ -24,20 +24,19 @@ #include "config.h" #endif +#include "gstsiren.h" #include "gstsirendec.h" #include "gstsirenenc.h" - static gboolean plugin_init (GstPlugin * plugin) { - if (!gst_siren_dec_plugin_init (plugin)) - return FALSE; + gboolean ret = FALSE; - if (!gst_siren_enc_plugin_init (plugin)) - return FALSE; + ret |= GST_ELEMENT_REGISTER (sirendec, plugin); + ret |= GST_ELEMENT_REGISTER (sirenenc, plugin); - return TRUE; + return ret; } GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, diff --git a/gst/siren/gstsirendec.c b/gst/siren/gstsirendec.c index 045bcd668..3e0baae33 100644 --- a/gst/siren/gstsirendec.c +++ b/gst/siren/gstsirendec.c @@ -65,6 +65,8 @@ static GstFlowReturn gst_siren_dec_handle_frame (GstAudioDecoder * dec, G_DEFINE_TYPE (GstSirenDec, gst_siren_dec, GST_TYPE_AUDIO_DECODER); +GST_ELEMENT_REGISTER_DEFINE (sirendec, "sirendec", + GST_RANK_MARGINAL, GST_TYPE_SIREN_DEC); static void gst_siren_dec_class_init (GstSirenDecClass * klass) @@ -248,10 +250,3 @@ decode_error: goto done; } } - -gboolean -gst_siren_dec_plugin_init (GstPlugin * plugin) -{ - return gst_element_register (plugin, "sirendec", - GST_RANK_MARGINAL, GST_TYPE_SIREN_DEC); -} diff --git a/gst/siren/gstsirendec.h b/gst/siren/gstsirendec.h index 27d7c86c8..3b5ed839d 100644 --- a/gst/siren/gstsirendec.h +++ b/gst/siren/gstsirendec.h @@ -60,8 +60,7 @@ struct _GstSirenDecClass }; GType gst_siren_dec_get_type (void); - -gboolean gst_siren_dec_plugin_init (GstPlugin * plugin); +GST_ELEMENT_REGISTER_DECLARE (sirendec); G_END_DECLS diff --git a/gst/siren/gstsirenenc.c b/gst/siren/gstsirenenc.c index b54f29c5e..2392b93ca 100644 --- a/gst/siren/gstsirenenc.c +++ b/gst/siren/gstsirenenc.c @@ -62,7 +62,8 @@ static GstFlowReturn gst_siren_enc_handle_frame (GstAudioEncoder * enc, GstBuffer * in_buf); G_DEFINE_TYPE (GstSirenEnc, gst_siren_enc, GST_TYPE_AUDIO_ENCODER); - +GST_ELEMENT_REGISTER_DEFINE (sirenenc, "sirenenc", + GST_RANK_MARGINAL, GST_TYPE_SIREN_ENC); static void gst_siren_enc_class_init (GstSirenEncClass * klass) @@ -228,10 +229,3 @@ encode_error: goto done; } } - -gboolean -gst_siren_enc_plugin_init (GstPlugin * plugin) -{ - return gst_element_register (plugin, "sirenenc", - GST_RANK_MARGINAL, GST_TYPE_SIREN_ENC); -} diff --git a/gst/siren/gstsirenenc.h b/gst/siren/gstsirenenc.h index acfb5e673..3fe1eaaf3 100644 --- a/gst/siren/gstsirenenc.h +++ b/gst/siren/gstsirenenc.h @@ -60,8 +60,7 @@ struct _GstSirenEncClass }; GType gst_siren_enc_get_type (void); - -gboolean gst_siren_enc_plugin_init (GstPlugin * plugin); +GST_ELEMENT_REGISTER_DECLARE (sirenenc); G_END_DECLS #endif /* __GST_SIREN_ENC_H__ */ |