summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorStéphane Cerveau <scerveau@collabora.com>2021-03-26 11:41:50 +0100
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>2021-03-30 09:51:18 +0000
commitd73ed3891a5b81c53bd7fe43c9d910616464fb7f (patch)
treed7a0e74300890a9ddc0fb9400fd985a5530c7482 /ext
parent5bcfb2dda011d4ce55798c6c8eea7d9e904dbcfa (diff)
downloadgstreamer-plugins-bad-d73ed3891a5b81c53bd7fe43c9d910616464fb7f.tar.gz
gs: 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/2115>
Diffstat (limited to 'ext')
-rw-r--r--ext/gs/gstgs.cpp11
-rw-r--r--ext/gs/gstgssink.cpp1
-rw-r--r--ext/gs/gstgssink.h2
-rw-r--r--ext/gs/gstgssrc.cpp1
-rw-r--r--ext/gs/gstgssrc.h1
5 files changed, 9 insertions, 7 deletions
diff --git a/ext/gs/gstgs.cpp b/ext/gs/gstgs.cpp
index f5c9ddfaf..94da7ee01 100644
--- a/ext/gs/gstgs.cpp
+++ b/ext/gs/gstgs.cpp
@@ -34,18 +34,15 @@
#include "gstgssink.h"
#include "gstgssrc.h"
-GST_DEBUG_CATEGORY (gst_gs_src_debug);
-
static gboolean
plugin_init (GstPlugin * plugin)
{
- if (!gst_element_register (plugin, "gssrc", GST_RANK_NONE, GST_TYPE_GS_SRC))
- return FALSE;
+ gboolean ret = FALSE;
- if (!gst_element_register (plugin, "gssink", GST_RANK_NONE, GST_TYPE_GS_SINK))
- return FALSE;
+ ret |= GST_ELEMENT_REGISTER (gssrc, plugin);
+ ret |= GST_ELEMENT_REGISTER (gssink, plugin);
- return TRUE;
+ return ret;
}
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
diff --git a/ext/gs/gstgssink.cpp b/ext/gs/gstgssink.cpp
index 3fdb7b0f5..07e44c7a2 100644
--- a/ext/gs/gstgssink.cpp
+++ b/ext/gs/gstgssink.cpp
@@ -168,6 +168,7 @@ static GType gst_gs_sink_next_get_type(void) {
#define gst_gs_sink_parent_class parent_class
G_DEFINE_TYPE(GstGsSink, gst_gs_sink, GST_TYPE_BASE_SINK);
+GST_ELEMENT_REGISTER_DEFINE (gssink, "gssink", GST_RANK_NONE, GST_TYPE_GS_SINK)
class GSWriteStream {
public:
diff --git a/ext/gs/gstgssink.h b/ext/gs/gstgssink.h
index e93ac4b1f..2d6113476 100644
--- a/ext/gs/gstgssink.h
+++ b/ext/gs/gstgssink.h
@@ -43,5 +43,7 @@ typedef enum {
GST_GS_SINK_NEXT_NONE,
} GstGsSinkNext;
+GST_ELEMENT_REGISTER_DECLARE (gssink);
+
G_END_DECLS
#endif // __GST_GS_SINK_H__
diff --git a/ext/gs/gstgssrc.cpp b/ext/gs/gstgssrc.cpp
index c37640bd6..7a8d36b95 100644
--- a/ext/gs/gstgssrc.cpp
+++ b/ext/gs/gstgssrc.cpp
@@ -109,6 +109,7 @@ static void gst_gs_src_uri_handler_init(gpointer g_iface, gpointer iface_data);
GST_DEBUG_CATEGORY_INIT(gst_gs_src_debug, "gssrc", 0, "gssrc element");
#define gst_gs_src_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE(GstGsSrc, gst_gs_src, GST_TYPE_BASE_SRC, _do_init);
+GST_ELEMENT_REGISTER_DEFINE (gssrc, "gssrc", GST_RANK_NONE, GST_TYPE_GS_SRC)
namespace gcs = google::cloud::storage;
diff --git a/ext/gs/gstgssrc.h b/ext/gs/gstgssrc.h
index 717742f12..9a30cd9e2 100644
--- a/ext/gs/gstgssrc.h
+++ b/ext/gs/gstgssrc.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
#define GST_TYPE_GS_SRC (gst_gs_src_get_type())
G_DECLARE_FINAL_TYPE(GstGsSrc, gst_gs_src, GST, GS_SRC, GstBaseSrc)
+GST_ELEMENT_REGISTER_DECLARE (gssrc);
G_END_DECLS
#endif // __GST_GS_SRC_H__