multipart: 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-good/-/merge_requests/876>
This commit is contained in:
Stéphane Cerveau 2021-02-16 13:43:44 +01:00
parent 894124835f
commit 237aca0f53
5 changed files with 15 additions and 27 deletions

View file

@ -29,10 +29,12 @@
static gboolean
plugin_init (GstPlugin * plugin)
{
gst_multipart_demux_plugin_init (plugin);
gst_multipart_mux_plugin_init (plugin);
gboolean ret = FALSE;
return TRUE;
ret |= GST_ELEMENT_REGISTER (multipartdemux, plugin);
ret |= GST_ELEMENT_REGISTER (multipartmux, plugin);
return ret;
}
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,

View file

@ -122,6 +122,10 @@ static void gst_multipart_demux_dispose (GObject * object);
#define gst_multipart_demux_parent_class parent_class
G_DEFINE_TYPE (GstMultipartDemux, gst_multipart_demux, GST_TYPE_ELEMENT);
GST_ELEMENT_REGISTER_DEFINE_WITH_CODE (multipartdemux, "multipartdemux",
GST_RANK_PRIMARY, GST_TYPE_MULTIPART_DEMUX,
GST_DEBUG_CATEGORY_INIT (gst_multipart_demux_debug, "multipartdemux", 0,
"multipart demuxer"));
static void
gst_multipart_demux_class_init (GstMultipartDemuxClass * klass)
@ -796,15 +800,3 @@ gst_multipart_get_property (GObject * object, guint prop_id,
break;
}
}
gboolean
gst_multipart_demux_plugin_init (GstPlugin * plugin)
{
GST_DEBUG_CATEGORY_INIT (gst_multipart_demux_debug,
"multipartdemux", 0, "multipart demuxer");
return gst_element_register (plugin, "multipartdemux", GST_RANK_PRIMARY,
GST_TYPE_MULTIPART_DEMUX);
}

View file

@ -102,7 +102,7 @@ struct _GstMultipartDemuxClass
GType gst_multipart_demux_get_type (void);
gboolean gst_multipart_demux_plugin_init (GstPlugin * plugin);
GST_ELEMENT_REGISTER_DECLARE (multipartdemux);
G_END_DECLS

View file

@ -97,6 +97,10 @@ static void gst_multipart_mux_get_property (GObject * object, guint prop_id,
#define gst_multipart_mux_parent_class parent_class
G_DEFINE_TYPE (GstMultipartMux, gst_multipart_mux, GST_TYPE_ELEMENT);
GST_ELEMENT_REGISTER_DEFINE_WITH_CODE (multipartmux, "multipartmux",
GST_RANK_NONE, GST_TYPE_MULTIPART_MUX,
GST_DEBUG_CATEGORY_INIT (gst_multipart_mux_debug, "multipartmux", 0,
"multipart muxer"));
static void
gst_multipart_mux_class_init (GstMultipartMuxClass * klass)
@ -683,13 +687,3 @@ gst_multipart_mux_change_state (GstElement * element, GstStateChange transition)
return ret;
}
gboolean
gst_multipart_mux_plugin_init (GstPlugin * plugin)
{
GST_DEBUG_CATEGORY_INIT (gst_multipart_mux_debug, "multipartmux", 0,
"multipart muxer");
return gst_element_register (plugin, "multipartmux", GST_RANK_NONE,
GST_TYPE_MULTIPART_MUX);
}

View file

@ -90,7 +90,7 @@ struct _GstMultipartMuxClass
GType gst_multipart_mux_get_type (void);
gboolean gst_multipart_mux_plugin_init (GstPlugin * plugin);
GST_ELEMENT_REGISTER_DECLARE (multipartmux);
G_END_DECLS