summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStéphane Cerveau <scerveau@collabora.com>2020-11-06 10:30:35 +0100
committerStéphane Cerveau <scerveau@collabora.com>2020-12-11 10:12:39 +0100
commit5a004ed35b60495f90d2649b22c29337498e2927 (patch)
tree0424eb93f3bbcbc2cc948c28907377f85574cbd8
parent491bf70f89297e605cab2bb14ca758e55d923887 (diff)
plugin: update doc to declare an element
Use GST_ELEMENT_REGISTER_DEFINE in addition to G_DEFINE_TYPE Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-docs/-/merge_requests/117>
-rw-r--r--markdown/application-development/appendix/compiling.md3
-rw-r--r--markdown/plugin-development/advanced/interfaces.md2
-rw-r--r--markdown/plugin-development/advanced/scheduling.md4
-rw-r--r--markdown/plugin-development/basics/boiler.md15
4 files changed, 14 insertions, 10 deletions
diff --git a/markdown/application-development/appendix/compiling.md b/markdown/application-development/appendix/compiling.md
index abb786f..dcef4c0 100644
--- a/markdown/application-development/appendix/compiling.md
+++ b/markdown/application-development/appendix/compiling.md
@@ -40,8 +40,7 @@ able to call `gst_element_factory_make
static gboolean
register_elements (GstPlugin *plugin)
{
- return gst_element_register (plugin, "my-element-name",
- GST_RANK_NONE, MY_PLUGIN_TYPE);
+ return GST_ELEMENT_REGISTER (my_element_name, plugin);
}
static
diff --git a/markdown/plugin-development/advanced/interfaces.md b/markdown/plugin-development/advanced/interfaces.md
index 005fb0f..621f96a 100644
--- a/markdown/plugin-development/advanced/interfaces.md
+++ b/markdown/plugin-development/advanced/interfaces.md
@@ -112,7 +112,7 @@ G_DEFINE_TYPE_WITH_CODE (GstMyFilter, gst_my_filter,GST_TYPE_ELEMENT,
G_IMPLEMENT_INTERFACE (GST_TYPE_SOME_INTERFACE,
gst_my_filter_some_interface_init));
-
+GST_ELEMENT_REGISTER_DEFINE(my_filter, "my-filter", GST_RANK_NONE, GST_TYPE_MY_FILTER);
```
## URI interface
diff --git a/markdown/plugin-development/advanced/scheduling.md b/markdown/plugin-development/advanced/scheduling.md
index af51fbe..d4560a9 100644
--- a/markdown/plugin-development/advanced/scheduling.md
+++ b/markdown/plugin-development/advanced/scheduling.md
@@ -124,7 +124,7 @@ static gboolean gst_my_filter_activate_mode (GstPad * pad,
static void gst_my_filter_loop (GstMyFilter * filter);
G_DEFINE_TYPE (GstMyFilter, gst_my_filter, GST_TYPE_ELEMENT);
-
+GST_ELEMENT_REGISTER_DEFINE(my_filter, "my-filter", GST_RANK_NONE, GST_TYPE_MY_FILTER);
static void
gst_my_filter_init (GstMyFilter * filter)
@@ -300,7 +300,7 @@ static GstFlowReturn
GstBuffer ** buf);
G_DEFINE_TYPE (GstMyFilter, gst_my_filter, GST_TYPE_ELEMENT);
-
+GST_ELEMENT_REGISTER_DEFINE(my_filter, "my-filter", GST_RANK_NONE, GST_TYPE_MY_FILTER);
static void
diff --git a/markdown/plugin-development/basics/boiler.md b/markdown/plugin-development/basics/boiler.md
index f960a44..bd31b4c 100644
--- a/markdown/plugin-development/basics/boiler.md
+++ b/markdown/plugin-development/basics/boiler.md
@@ -156,19 +156,26 @@ typedef struct _GstMyFilterClass {
/* Standard function returning type information. */
GType gst_my_filter_get_type (void);
+GST_ELEMENT_REGISTER_DECLARE(my_filter)
+
```
-Using this header file, you can use the following macro to setup the
-`GObject` basics in your source file so that all functions will be
+Using this header file, you can use the following macros to setup the
+`Element` basics in your source file so that all functions will be
called appropriately:
``` c
#include "filter.h"
G_DEFINE_TYPE (GstMyFilter, gst_my_filter, GST_TYPE_ELEMENT);
+GST_ELEMENT_REGISTER_DEFINE(my_filter, "my-filter", GST_RANK_NONE, GST_TYPE_MY_FILTER);
```
+The macro `GST_ELEMENT_REGISTER_DEFINE` in combination with `GST_ELEMENT_REGISTER_DECLARE`
+allows to register the element from within the plugin or from any other plugin/application by calling
+`GST_ELEMENT_REGISTER (my_filter)`.
+
## Element metadata
The Element metadata provides extra element information. It is
@@ -337,9 +344,7 @@ plugin should be registered.
static gboolean
plugin_init (GstPlugin *plugin)
{
- return gst_element_register (plugin, "my_filter",
- GST_RANK_NONE,
- GST_TYPE_MY_FILTER);
+ return GST_ELEMENT_REGISTER (my_filter, plugin);
}
GST_PLUGIN_DEFINE (