diff options
author | Tim-Philipp Müller <tim@centricular.com> | 2020-06-19 17:20:02 +0100 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2020-06-19 17:20:02 +0100 |
commit | a8ce8db982998fc004bcdd3bf062f949a2a1e12e (patch) | |
tree | 4fa293d6630e8b844053f1e82e3426f068802a65 | |
parent | 8e93ae65e84d9581243d4474136bbd17681557bc (diff) |
srt: add "empty" subclasses for deprecated srt{client,server}{src,sink}
The doc system gets confused when we register the exact same
class as multiple elements, so make a subclass for each.
Also wrap registration of deprecated elements with #ifndef GST_REMOVE_DEPRECATED.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1354>
-rw-r--r-- | docs/plugins/gst_plugins_cache.json | 4 | ||||
-rw-r--r-- | ext/srt/gstsrt.c | 82 |
2 files changed, 82 insertions, 4 deletions
diff --git a/docs/plugins/gst_plugins_cache.json b/docs/plugins/gst_plugins_cache.json index 3c456322e..a50f6a45c 100644 --- a/docs/plugins/gst_plugins_cache.json +++ b/docs/plugins/gst_plugins_cache.json @@ -225814,6 +225814,7 @@ "author": "Justin Kim <justin.joy.9to5@gmail.com>", "description": "Send data over the network via SRT", "hierarchy": [ + "GstSRTClientSink", "GstSRTSink", "GstBaseSink", "GstElement", @@ -226166,6 +226167,7 @@ "author": "Justin Kim <justin.joy.9to5@gmail.com>", "description": "Receive data over the network via SRT", "hierarchy": [ + "GstSRTClientSrc", "GstSRTSrc", "GstPushSrc", "GstBaseSrc", @@ -226414,6 +226416,7 @@ "author": "Justin Kim <justin.joy.9to5@gmail.com>", "description": "Send data over the network via SRT", "hierarchy": [ + "GstSRTServerSink", "GstSRTSink", "GstBaseSink", "GstElement", @@ -226766,6 +226769,7 @@ "author": "Justin Kim <justin.joy.9to5@gmail.com>", "description": "Receive data over the network via SRT", "hierarchy": [ + "GstSRTServerSrc", "GstSRTSrc", "GstPushSrc", "GstBaseSrc", diff --git a/ext/srt/gstsrt.c b/ext/srt/gstsrt.c index 875a4e21b..1511f3928 100644 --- a/ext/srt/gstsrt.c +++ b/ext/srt/gstsrt.c @@ -28,6 +28,78 @@ GST_DEBUG_CATEGORY (gst_debug_srtobject); #define GST_CAT_DEFAULT gst_debug_srtobject +#ifndef GST_REMOVE_DEPRECATED + +#define GST_TYPE_SRT_CLIENT_SRC gst_srt_client_src_get_type() +#define GST_TYPE_SRT_SERVER_SRC gst_srt_server_src_get_type() + +#define GST_TYPE_SRT_CLIENT_SINK gst_srt_client_sink_get_type() +#define GST_TYPE_SRT_SERVER_SINK gst_srt_server_sink_get_type() + +typedef GstSRTSrc GstSRTClientSrc; +typedef GstSRTSrcClass GstSRTClientSrcClass; + +typedef GstSRTSrc GstSRTServerSrc; +typedef GstSRTSrcClass GstSRTServerSrcClass; + +typedef GstSRTSink GstSRTClientSink; +typedef GstSRTSinkClass GstSRTClientSinkClass; + +typedef GstSRTSink GstSRTServerSink; +typedef GstSRTSinkClass GstSRTServerSinkClass; + +static GType gst_srt_client_src_get_type (void); +static GType gst_srt_server_src_get_type (void); +static GType gst_srt_client_sink_get_type (void); +static GType gst_srt_server_sink_get_type (void); + +G_DEFINE_TYPE (GstSRTClientSrc, gst_srt_client_src, GST_TYPE_SRT_SRC); +G_DEFINE_TYPE (GstSRTServerSrc, gst_srt_server_src, GST_TYPE_SRT_SRC); +G_DEFINE_TYPE (GstSRTClientSink, gst_srt_client_sink, GST_TYPE_SRT_SINK); +G_DEFINE_TYPE (GstSRTServerSink, gst_srt_server_sink, GST_TYPE_SRT_SINK); + +static void +gst_srt_client_src_init (GstSRTClientSrc * src) +{ +} + +static void +gst_srt_client_src_class_init (GstSRTClientSrcClass * klass) +{ +} + +static void +gst_srt_server_src_init (GstSRTServerSrc * src) +{ +} + +static void +gst_srt_server_src_class_init (GstSRTServerSrcClass * klass) +{ +} + +static void +gst_srt_client_sink_init (GstSRTClientSink * sink) +{ +} + +static void +gst_srt_client_sink_class_init (GstSRTClientSinkClass * klass) +{ +} + +static void +gst_srt_server_sink_init (GstSRTServerSink * sink) +{ +} + +static void +gst_srt_server_sink_class_init (GstSRTServerSinkClass * klass) +{ +} + +#endif + static gboolean plugin_init (GstPlugin * plugin) { @@ -42,21 +114,23 @@ plugin_init (GstPlugin * plugin) return FALSE; /* deprecated */ +#ifndef GST_REMOVE_DEPRECATED if (!gst_element_register (plugin, "srtclientsrc", GST_RANK_NONE, - GST_TYPE_SRT_SRC)) + GST_TYPE_SRT_CLIENT_SRC)) return FALSE; if (!gst_element_register (plugin, "srtserversrc", GST_RANK_NONE, - GST_TYPE_SRT_SRC)) + GST_TYPE_SRT_SERVER_SRC)) return FALSE; if (!gst_element_register (plugin, "srtclientsink", GST_RANK_NONE, - GST_TYPE_SRT_SINK)) + GST_TYPE_SRT_CLIENT_SINK)) return FALSE; if (!gst_element_register (plugin, "srtserversink", GST_RANK_NONE, - GST_TYPE_SRT_SINK)) + GST_TYPE_SRT_SERVER_SINK)) return FALSE; +#endif return TRUE; } |