summaryrefslogtreecommitdiff
path: root/gst/siren
diff options
context:
space:
mode:
authorStéphane Cerveau <scerveau@collabora.com>2021-02-25 15:22:15 +0100
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>2021-04-11 16:16:55 +0000
commit891be511057dbcdf1f38740e55cbd376c4b25894 (patch)
treeb077e8cd0b584ebe2a10950ef2398ab3f60b48b4 /gst/siren
parent7f60138ef68e2a1fef8ccd4ff3710dfccd243314 (diff)
downloadgstreamer-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.c11
-rw-r--r--gst/siren/gstsirendec.c9
-rw-r--r--gst/siren/gstsirendec.h3
-rw-r--r--gst/siren/gstsirenenc.c10
-rw-r--r--gst/siren/gstsirenenc.h3
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__ */