diff --git a/markdown/application-development/appendix/compiling.md b/markdown/application-development/appendix/compiling.md index abb786feca..dcef4c0313 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 005fb0fc6c..621f96a390 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 af51fbe2d7..d4560a9421 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 f960a44ae4..bd31b4c3ed 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 (