summaryrefslogtreecommitdiff
path: root/ext/x265
diff options
context:
space:
mode:
authorStéphane Cerveau <scerveau@collabora.com>2021-02-25 09:51:52 +0100
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>2021-03-23 14:19:17 +0000
commit42a87029190d8b13c8e2040e8b73147765bfd7a1 (patch)
treefb557847881c2302380b03aa4c5bd24ae87afbe2 /ext/x265
parent1fd8b4a6b7d30906ef930c8c711a15a480e68fbe (diff)
downloadgstreamer-plugins-bad-42a87029190d8b13c8e2040e8b73147765bfd7a1.tar.gz
x265: 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/2038>
Diffstat (limited to 'ext/x265')
-rw-r--r--ext/x265/gstx265enc.c10
-rw-r--r--ext/x265/gstx265enc.h2
2 files changed, 11 insertions, 1 deletions
diff --git a/ext/x265/gstx265enc.c b/ext/x265/gstx265enc.c
index d0dc3f761..eb6552d9a 100644
--- a/ext/x265/gstx265enc.c
+++ b/ext/x265/gstx265enc.c
@@ -197,10 +197,12 @@ static void gst_x265_enc_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec);
static void gst_x265_enc_get_property (GObject * object, guint prop_id,
GValue * value, GParamSpec * pspec);
+static gboolean x265enc_element_init (GstPlugin * plugin);
#define gst_x265_enc_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstX265Enc, gst_x265_enc, GST_TYPE_VIDEO_ENCODER,
G_IMPLEMENT_INTERFACE (GST_TYPE_PRESET, NULL));
+GST_ELEMENT_REGISTER_DEFINE_CUSTOM (x265enc, x265enc_element_init);
static gboolean
gst_x265_enc_add_x265_chroma_format (GstStructure * s,
@@ -1732,7 +1734,7 @@ gst_x265_enc_get_property (GObject * object, guint prop_id,
}
static gboolean
-plugin_init (GstPlugin * plugin)
+x265enc_element_init (GstPlugin * plugin)
{
GST_DEBUG_CATEGORY_INIT (x265_enc_debug, "x265enc", 0,
"h265 encoding element");
@@ -1773,6 +1775,12 @@ plugin_init (GstPlugin * plugin)
GST_RANK_PRIMARY, GST_TYPE_X265_ENC);
}
+static gboolean
+plugin_init (GstPlugin * plugin)
+{
+ return GST_ELEMENT_REGISTER (x265enc, plugin);
+}
+
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
GST_VERSION_MINOR,
x265,
diff --git a/ext/x265/gstx265enc.h b/ext/x265/gstx265enc.h
index a4b5d1142..9855c3366 100644
--- a/ext/x265/gstx265enc.h
+++ b/ext/x265/gstx265enc.h
@@ -84,5 +84,7 @@ struct _GstX265EncClass
GType gst_x265_enc_get_type (void);
+GST_ELEMENT_REGISTER_DECLARE (x265enc);
+
G_END_DECLS
#endif /* __GST_X265_ENC_H__ */