diff options
author | Stéphane Cerveau <scerveau@collabora.com> | 2021-03-26 11:41:50 +0100 |
---|---|---|
committer | GStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org> | 2021-03-30 09:51:18 +0000 |
commit | d73ed3891a5b81c53bd7fe43c9d910616464fb7f (patch) | |
tree | d7a0e74300890a9ddc0fb9400fd985a5530c7482 /ext | |
parent | 5bcfb2dda011d4ce55798c6c8eea7d9e904dbcfa (diff) | |
download | gstreamer-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.cpp | 11 | ||||
-rw-r--r-- | ext/gs/gstgssink.cpp | 1 | ||||
-rw-r--r-- | ext/gs/gstgssink.h | 2 | ||||
-rw-r--r-- | ext/gs/gstgssrc.cpp | 1 | ||||
-rw-r--r-- | ext/gs/gstgssrc.h | 1 |
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__ |