summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStéphane Cerveau <scerveau@collabora.com>2021-03-29 13:39:20 +0200
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>2021-03-29 19:13:36 +0000
commitc3525ca78c4cd780a36f2b867ea90d7ac86822fc (patch)
tree555fdf8c752701df36707b3434ec1ccc88f07b15
parentf2a9ea9d7b511b79af0786bcded59d5bbdd5de5e (diff)
downloadgstreamer-plugins-ugly-c3525ca78c4cd780a36f2b867ea90d7ac86822fc.tar.gz
realmedia: 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-ugly/-/merge_requests/79>
-rw-r--r--gst/realmedia/pnmsrc.c9
-rw-r--r--gst/realmedia/pnmsrc.h2
-rw-r--r--gst/realmedia/rademux.c9
-rw-r--r--gst/realmedia/rademux.h2
-rw-r--r--gst/realmedia/rdtdepay.c9
-rw-r--r--gst/realmedia/rdtdepay.h2
-rw-r--r--gst/realmedia/rdtmanager.c9
-rw-r--r--gst/realmedia/rdtmanager.h2
-rw-r--r--gst/realmedia/realmedia.c25
-rw-r--r--gst/realmedia/rmdemux.c10
-rw-r--r--gst/realmedia/rmdemux.h2
-rw-r--r--gst/realmedia/rtspreal.c9
-rw-r--r--gst/realmedia/rtspreal.h3
13 files changed, 28 insertions, 65 deletions
diff --git a/gst/realmedia/pnmsrc.c b/gst/realmedia/pnmsrc.c
index fdd4980b..07b25f42 100644
--- a/gst/realmedia/pnmsrc.c
+++ b/gst/realmedia/pnmsrc.c
@@ -58,6 +58,8 @@ static void gst_pnm_src_uri_handler_init (gpointer g_iface,
#define gst_pnm_src_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstPNMSrc, gst_pnm_src, GST_TYPE_PUSH_SRC,
G_IMPLEMENT_INTERFACE (GST_TYPE_URI_HANDLER, gst_pnm_src_uri_handler_init));
+GST_ELEMENT_REGISTER_DEFINE (pnmsrc, "pnmsrc",
+ GST_RANK_MARGINAL, GST_TYPE_PNM_SRC);
static void gst_pnm_src_finalize (GObject * object);
@@ -110,13 +112,6 @@ gst_pnm_src_init (GstPNMSrc * pnmsrc)
pnmsrc->location = g_strdup (DEFAULT_LOCATION);
}
-gboolean
-gst_pnm_src_plugin_init (GstPlugin * plugin)
-{
- return gst_element_register (plugin, "pnmsrc",
- GST_RANK_MARGINAL, GST_TYPE_PNM_SRC);
-}
-
static void
gst_pnm_src_finalize (GObject * object)
{
diff --git a/gst/realmedia/pnmsrc.h b/gst/realmedia/pnmsrc.h
index fa343e76..30772268 100644
--- a/gst/realmedia/pnmsrc.h
+++ b/gst/realmedia/pnmsrc.h
@@ -52,7 +52,7 @@ struct _GstPNMSrcClass
};
GType gst_pnm_src_get_type (void);
-gboolean gst_pnm_src_plugin_init (GstPlugin * plugin);
+GST_ELEMENT_REGISTER_DECLARE (pnmsrc);
G_END_DECLS
diff --git a/gst/realmedia/rademux.c b/gst/realmedia/rademux.c
index d2ca9ae5..aface500 100644
--- a/gst/realmedia/rademux.c
+++ b/gst/realmedia/rademux.c
@@ -61,6 +61,8 @@ GST_DEBUG_CATEGORY_STATIC (real_audio_demux_debug);
#define gst_real_audio_demux_parent_class parent_class
G_DEFINE_TYPE (GstRealAudioDemux, gst_real_audio_demux, GST_TYPE_ELEMENT);
+GST_ELEMENT_REGISTER_DEFINE (rademux, "rademux",
+ GST_RANK_SECONDARY, GST_TYPE_REAL_AUDIO_DEMUX);
static GstStateChangeReturn gst_real_audio_demux_change_state (GstElement * e,
GstStateChange transition);
@@ -996,10 +998,3 @@ gst_real_audio_demux_change_state (GstElement * element,
return ret;
}
-
-gboolean
-gst_rademux_plugin_init (GstPlugin * plugin)
-{
- return gst_element_register (plugin, "rademux",
- GST_RANK_SECONDARY, GST_TYPE_REAL_AUDIO_DEMUX);
-}
diff --git a/gst/realmedia/rademux.h b/gst/realmedia/rademux.h
index 8392d154..666a1e64 100644
--- a/gst/realmedia/rademux.h
+++ b/gst/realmedia/rademux.h
@@ -97,7 +97,7 @@ struct _GstRealAudioDemuxClass {
GType gst_real_audio_demux_get_type (void);
-gboolean gst_rademux_plugin_init (GstPlugin * plugin);
+GST_ELEMENT_REGISTER_DECLARE (rademux);
G_END_DECLS
diff --git a/gst/realmedia/rdtdepay.c b/gst/realmedia/rdtdepay.c
index 5cf5e4a5..f0612e74 100644
--- a/gst/realmedia/rdtdepay.c
+++ b/gst/realmedia/rdtdepay.c
@@ -66,6 +66,8 @@ GST_STATIC_PAD_TEMPLATE ("sink",
#define gst_rdt_depay_parent_class parent_class
G_DEFINE_TYPE (GstRDTDepay, gst_rdt_depay, GST_TYPE_ELEMENT);
+GST_ELEMENT_REGISTER_DEFINE (rdtdepay, "rdtdepay",
+ GST_RANK_MARGINAL, GST_TYPE_RDT_DEPAY);
static void gst_rdt_depay_finalize (GObject * object);
@@ -492,10 +494,3 @@ gst_rdt_depay_change_state (GstElement * element, GstStateChange transition)
}
return ret;
}
-
-gboolean
-gst_rdt_depay_plugin_init (GstPlugin * plugin)
-{
- return gst_element_register (plugin, "rdtdepay",
- GST_RANK_MARGINAL, GST_TYPE_RDT_DEPAY);
-}
diff --git a/gst/realmedia/rdtdepay.h b/gst/realmedia/rdtdepay.h
index a4ed2916..8b208fcd 100644
--- a/gst/realmedia/rdtdepay.h
+++ b/gst/realmedia/rdtdepay.h
@@ -67,7 +67,7 @@ struct _GstRDTDepayClass
GType gst_rdt_depay_get_type (void);
-gboolean gst_rdt_depay_plugin_init (GstPlugin * plugin);
+GST_ELEMENT_REGISTER_DECLARE (rdtdepay);
G_END_DECLS
diff --git a/gst/realmedia/rdtmanager.c b/gst/realmedia/rdtmanager.c
index 742a6e26..978bc9ee 100644
--- a/gst/realmedia/rdtmanager.c
+++ b/gst/realmedia/rdtmanager.c
@@ -337,6 +337,8 @@ free_session (GstRDTManagerSession * session)
#define gst_rdt_manager_parent_class parent_class
G_DEFINE_TYPE (GstRDTManager, gst_rdt_manager, GST_TYPE_ELEMENT);
+GST_ELEMENT_REGISTER_DEFINE (rdtmanager, "rdtmanager",
+ GST_RANK_NONE, GST_TYPE_RDT_MANAGER);
/* BOXED:UINT,UINT */
#define g_marshal_value_peek_uint(v) g_value_get_uint (v)
@@ -1367,10 +1369,3 @@ static void
gst_rdt_manager_release_pad (GstElement * element, GstPad * pad)
{
}
-
-gboolean
-gst_rdt_manager_plugin_init (GstPlugin * plugin)
-{
- return gst_element_register (plugin, "rdtmanager",
- GST_RANK_NONE, GST_TYPE_RDT_MANAGER);
-}
diff --git a/gst/realmedia/rdtmanager.h b/gst/realmedia/rdtmanager.h
index 053953c6..d7a60fd5 100644
--- a/gst/realmedia/rdtmanager.h
+++ b/gst/realmedia/rdtmanager.h
@@ -86,7 +86,7 @@ struct _GstRDTManagerClass {
GType gst_rdt_manager_get_type(void);
-gboolean gst_rdt_manager_plugin_init (GstPlugin * plugin);
+GST_ELEMENT_REGISTER_DECLARE (rdtmanager);
G_END_DECLS
diff --git a/gst/realmedia/realmedia.c b/gst/realmedia/realmedia.c
index 2b05f548..71749f63 100644
--- a/gst/realmedia/realmedia.c
+++ b/gst/realmedia/realmedia.c
@@ -31,25 +31,16 @@
static gboolean
plugin_init (GstPlugin * plugin)
{
- if (!gst_rmdemux_plugin_init (plugin))
- return FALSE;
+ gboolean ret = FALSE;
- if (!gst_rademux_plugin_init (plugin))
- return FALSE;
+ ret |= GST_ELEMENT_REGISTER (rmdemux, plugin);
+ ret |= GST_ELEMENT_REGISTER (rademux, plugin);
+ ret |= GST_ELEMENT_REGISTER (rdtdepay, plugin);
+ ret |= GST_ELEMENT_REGISTER (rdtmanager, plugin);
+ ret |= GST_ELEMENT_REGISTER (rtspreal, plugin);
+ ret |= GST_ELEMENT_REGISTER (pnmsrc, plugin);
- if (!gst_rdt_depay_plugin_init (plugin))
- return FALSE;
-
- if (!gst_rdt_manager_plugin_init (plugin))
- return FALSE;
-
- if (!gst_rtsp_real_plugin_init (plugin))
- return FALSE;
-
- if (!gst_pnm_src_plugin_init (plugin))
- return FALSE;
-
- return TRUE;
+ return ret;
}
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
diff --git a/gst/realmedia/rmdemux.c b/gst/realmedia/rmdemux.c
index 68b0736b..f9b6bfae 100644
--- a/gst/realmedia/rmdemux.c
+++ b/gst/realmedia/rmdemux.c
@@ -192,6 +192,9 @@ gst_rmdemux_get_type (void)
return rmdemux_type;
}
+GST_ELEMENT_REGISTER_DEFINE (rmdemux, "rmdemux",
+ GST_RANK_PRIMARY, GST_TYPE_RMDEMUX);
+
static void
gst_rmdemux_base_init (GstRMDemuxClass * klass)
{
@@ -2632,10 +2635,3 @@ not_enough_data:
return GST_FLOW_OK;
}
}
-
-gboolean
-gst_rmdemux_plugin_init (GstPlugin * plugin)
-{
- return gst_element_register (plugin, "rmdemux",
- GST_RANK_PRIMARY, GST_TYPE_RMDEMUX);
-}
diff --git a/gst/realmedia/rmdemux.h b/gst/realmedia/rmdemux.h
index 68a17009..5c2fea20 100644
--- a/gst/realmedia/rmdemux.h
+++ b/gst/realmedia/rmdemux.h
@@ -158,7 +158,7 @@ struct _GstRMDemuxClass {
#define GST_RM_AUD_xRA4 GST_MAKE_FOURCC('.','r','a','4') // Not a real audio codec
#define GST_RM_AUD_xRA5 GST_MAKE_FOURCC('.','r','a','5') // Not a real audio codec
-gboolean gst_rmdemux_plugin_init (GstPlugin * plugin);
+GST_ELEMENT_REGISTER_DECLARE (rmdemux);
G_END_DECLS
diff --git a/gst/realmedia/rtspreal.c b/gst/realmedia/rtspreal.c
index e0e7a932..2fec0371 100644
--- a/gst/realmedia/rtspreal.c
+++ b/gst/realmedia/rtspreal.c
@@ -673,6 +673,8 @@ static void gst_rtsp_real_finalize (GObject * obj);
G_DEFINE_TYPE_WITH_CODE (GstRTSPReal, gst_rtsp_real, GST_TYPE_ELEMENT,
G_IMPLEMENT_INTERFACE (GST_TYPE_RTSP_EXTENSION,
gst_rtsp_real_extension_init));
+GST_ELEMENT_REGISTER_DEFINE (rtspreal, "rtspreal",
+ GST_RANK_MARGINAL, GST_TYPE_RTSP_REAL);
static void
gst_rtsp_real_class_init (GstRTSPRealClass * g_class)
@@ -731,10 +733,3 @@ gst_rtsp_real_extension_init (gpointer g_iface, gpointer iface_data)
iface->stream_select = rtsp_ext_real_stream_select;
iface->get_transports = rtsp_ext_real_get_transports;
}
-
-gboolean
-gst_rtsp_real_plugin_init (GstPlugin * plugin)
-{
- return gst_element_register (plugin, "rtspreal",
- GST_RANK_MARGINAL, GST_TYPE_RTSP_REAL);
-}
diff --git a/gst/realmedia/rtspreal.h b/gst/realmedia/rtspreal.h
index fad1427f..f5cea96d 100644
--- a/gst/realmedia/rtspreal.h
+++ b/gst/realmedia/rtspreal.h
@@ -85,7 +85,8 @@ struct _GstRTSPRealClass {
GType gst_rtsp_real_get_type(void);
-gboolean gst_rtsp_real_plugin_init (GstPlugin * plugin);
+GST_ELEMENT_REGISTER_DECLARE (rtspreal);
+
G_END_DECLS