gstreamer/gst
Nicolas Dufresne e7ede5a487 plugin: Unify static and dynamic plugin interface
This patch changes the entry point of each plugin in order to unify the
interface for static and dynamic plugin. What we do is replace the
current static plugin interface and extend the dymamic one. The plugin
entry was a C structure, name "gst_plugin_desc". With this patch, the
interface is now:

  GstPpluginDesc *gst_plugin_<name>_get_desc(void);

The reason we change the C structure into function, is that it is
potentially more common to have function pointers, avoiding possible
binding language limitation. Additionally to that. This change prevents
the symbols from clashing between plugins, allowing to build once the
plugin (assuming you have -fPIC).

On the plugin loader side, we symply derive the shared object basename
to extract the plugin name. If this symbol is not found, we fallback to
gst_plugin_desc for backward compatibility.

This has one side effect, which is that the shared objects now need to
be named after their plugin name. This is generally the case with few
exceptions. The benifit of this limitation is that you can control the
gst_plugin_<name>_desc clash at file level.

https://bugzilla.gnome.org/show_bug.cgi?id=779344
2017-05-09 08:48:19 -04:00
..
parse meson: Only check the first parameter 2017-04-11 13:24:45 -03:00
printf meson: require meson 0.36 and use new pic arg on static libs 2016-11-14 19:21:13 +00:00
.gitignore gstbase: Add gobject-introspection support 2009-09-05 10:28:46 +02:00
gettext.h Fix FSF address 2012-11-03 20:44:48 +00:00
glib-compat-private.h Fix FSF address 2012-11-03 20:44:48 +00:00
glib-compat.c Whenever we include windows.h, also define WIN32_LEAN_AND_MEAN 2016-02-20 10:07:42 +00:00
glib-compat.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gst-i18n-app.h Fix FSF address 2012-11-03 20:44:48 +00:00
gst-i18n-lib.h Fix FSF address 2012-11-03 20:44:48 +00:00
gst.c gst: check non-null before dereference 2017-04-28 21:01:43 +02:00
gst.h dynamic types: Implement dynamic types in the registry 2016-11-02 11:21:37 +11:00
gst_private.h plugin: Unify static and dynamic plugin interface 2017-05-09 08:48:19 -04:00
gstallocator.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstallocator.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gstatomicqueue.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstatomicqueue.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gstbin.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstbin.h docs: misc fixes 2016-11-16 10:57:33 +00:00
gstbuffer.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstbuffer.h gst: Cast combined-flags constants to their respective target types 2017-04-05 14:45:46 +03:00
gstbufferlist.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstbufferlist.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gstbufferpool.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gstbufferpool.h Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstbus.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gstbus.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gstcaps.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstcaps.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gstcapsfeatures.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstcapsfeatures.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gstchildproxy.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstchildproxy.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstclock.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstclock.h gst: Use GstClockTimeDiff instead of GstClockTime as type for GST_SECOND and friends 2017-04-05 16:32:38 +03:00
gstcompat.h Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstconfig.h.in gstconfig: Fix unaligned access support for the openrisc architecture 2017-02-18 11:53:30 +02:00
gstcontext.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstcontext.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gstcontrolbinding.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstcontrolbinding.h gst: Fix includes so that files can be built separately 2017-01-27 16:33:42 -03:00
gstcontrolsource.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstcontrolsource.h controlsource: fix GetValue and GetValueArray documentation 2016-01-08 18:24:06 +00:00
gstdatetime.c datetime: fix potential out-of-bound read on malformed datetime string 2017-01-15 11:53:41 +00:00
gstdatetime.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gstdebugutils.c debugutils: make local variable static 2017-05-07 11:17:22 +01:00
gstdebugutils.h Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstdevice.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstdevice.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gstdevicemonitor.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstdevicemonitor.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gstdeviceprovider.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstdeviceprovider.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gstdeviceproviderfactory.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gstdeviceproviderfactory.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gstdynamictypefactory.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gstdynamictypefactory.h dynamic types: Implement dynamic types in the registry 2016-11-02 11:21:37 +11:00
gstelement.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstelement.h doc: Fix some doctsing making GI happy 2017-04-21 10:51:59 -03:00
gstelementfactory.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gstelementfactory.h gst: Update some more types and values of combined-flags constants 2017-04-05 15:46:26 +03:00
gstelementmetadata.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gstenumtypes.c.template meson: use gnome.mkenums() with template files for enum file gen 2016-12-22 11:35:04 +00:00
gstenumtypes.h.template meson: use gnome.mkenums() with template files for enum file gen 2016-12-22 11:35:04 +00:00
gsterror.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gsterror.h doc: Fix Since: marks 2015-06-13 20:19:59 -04:00
gstevent.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstevent.h gst: Update some more types and values of combined-flags constants 2017-04-05 15:46:26 +03:00
gstformat.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstformat.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstghostpad.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstghostpad.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gstinfo.c info: Move debug output in for_each_threshold_by_entry() to TRACE level 2017-04-19 17:32:17 +01:00
gstinfo.h info: document that logging macros don't need newlines at the end 2017-03-03 12:53:26 +00:00
gstiterator.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstiterator.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gstmacros.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gstmemory.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstmemory.h gst: Cast combined-flags constants to their respective target types 2017-04-05 14:45:46 +03:00
gstmessage.c message: Don't pass a NULL debug string to g_utf8_validate() 2017-05-02 14:35:50 +03:00
gstmessage.h gst: Fix includes so that files can be built separately 2017-01-27 16:33:42 -03:00
gstmeta.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstmeta.h gst: Fix includes so that files can be built separately 2017-01-27 16:33:42 -03:00
gstminiobject.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstminiobject.h gst: Cast combined-flags constants to their respective target types 2017-04-05 14:45:46 +03:00
gstobject.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstobject.h (mini)object: add MAY_BE_LEAKED flag 2016-05-20 09:11:08 +01:00
gstpad.c pad: add since marker to docs for new API 2017-02-24 21:35:27 +00:00
gstpad.h pad: Add API to get the current state of a task 2017-02-24 16:16:23 -03:00
gstpadtemplate.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstpadtemplate.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gstparamspecs.c paramspec: Fix array validation logic 2017-03-24 13:43:34 -04:00
gstparamspecs.h paramspecs: Add GstParamSpecArray for GST_TYPE_ARRAY typed properties 2017-02-23 20:16:17 +02:00
gstparse.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstparse.h parse-launch: Add flag for placing elements in a bin instead of a pipeline 2016-03-24 14:50:12 +02:00
gstpipeline.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstpipeline.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gstplugin.c plugin: Unify static and dynamic plugin interface 2017-05-09 08:48:19 -04:00
gstplugin.h plugin: Unify static and dynamic plugin interface 2017-05-09 08:48:19 -04:00
gstpluginfeature.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstpluginfeature.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gstpluginloader.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gstpluginloader.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gstpoll.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstpoll.h poll: Warn if the return value of gst_poll_read_control() is unused 2016-06-29 21:21:04 +02:00
gstpreset.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstpreset.h preset: add gst_preset_is_editable() 2014-12-12 21:49:16 +01:00
gstprotection.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstprotection.h doc: Fix Since: marks 2015-06-13 20:19:59 -04:00
gstquark.c events: Implement the stream-group-done event 2016-07-25 20:22:20 +10:00
gstquark.h events: Implement the stream-group-done event 2016-07-25 20:22:20 +10:00
gstquery.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstquery.h gst: Update some more types and values of combined-flags constants 2017-04-05 15:46:26 +03:00
gstregistry.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gstregistry.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gstregistrybinary.c dynamic types: Implement dynamic types in the registry 2016-11-02 11:21:37 +11:00
gstregistrybinary.h tracer: initial prototype for the tracing subsystem 2015-10-05 20:59:39 +02:00
gstregistrychunks.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gstregistrychunks.h dynamic types: Implement dynamic types in the registry 2016-11-02 11:21:37 +11:00
gstsample.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstsample.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gstsegment.c segment: Modifiy inside segment condition 2017-01-31 15:55:12 +01:00
gstsegment.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gststreamcollection.c streamcollection: fix racy user-after-free 2017-03-31 11:32:31 +01:00
gststreamcollection.h gst: Fix includes so that files can be built separately 2017-01-27 16:33:42 -03:00
gststreams.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gststreams.h gst: Fix includes so that files can be built separately 2017-01-27 16:33:42 -03:00
gststructure.c structure: Don't print warning on NULL strings or pointers 2017-04-06 19:25:06 -04:00
gststructure.h structure: Add get/set_array/list using GValueArray 2017-03-24 13:30:45 -04:00
gstsystemclock.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstsystemclock.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gsttaglist.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gsttaglist.h taglist: add GST_TAG_CONDUCTOR 2016-02-22 21:12:37 +00:00
gsttagsetter.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gsttagsetter.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsttask.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gsttask.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gsttaskpool.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gsttaskpool.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gsttoc.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gsttoc.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gsttocsetter.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gsttocsetter.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsttracer.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gsttracer.h gst: Fix includes so that files can be built separately 2017-01-27 16:33:42 -03:00
gsttracerfactory.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gsttracerfactory.h docs: fix some warnings and add some since markers 2016-01-03 17:50:35 +00:00
gsttracerrecord.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gsttracerrecord.h tracerrecord: improve the values flags docs 2016-12-20 21:08:09 +01:00
gsttracerutils.c leaks: Allow tracing Gst(Mini)Object reffing operations 2016-12-20 15:29:10 -03:00
gsttracerutils.h leaks: Allow tracing Gst(Mini)Object reffing operations 2016-12-20 15:29:10 -03:00
gsttypefind.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gsttypefind.h docs: Fix typos in function/object descriptions 2013-12-07 17:11:12 +00:00
gsttypefindfactory.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gsttypefindfactory.h core: Add g_autoptr() support to all types 2015-12-14 12:06:55 -05:00
gsturi.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gsturi.h gst: Fix includes so that files can be built separately 2017-01-27 16:33:42 -03:00
gstutils.c gstutils: Add helpers to get/set array properties 2017-03-24 13:30:45 -04:00
gstutils.h gstutils: Add helpers to get/set array properties 2017-03-24 13:30:45 -04:00
gstvalue.c value: Accept NULL as a structure 2017-04-10 12:37:12 -04:00
gstvalue.h value: Properly set value and type for GST_FLAG_SET_MASK_EXACT in GI annotations 2017-04-05 14:27:19 +03:00
gstversion.h.in gstversion: Add missing include in .in file. 2015-08-15 13:26:12 +02:00
Makefile.am g-i: no need to load registry in g-i scanner 2017-05-04 21:59:48 +01:00
math-compat.h Fix FSF address 2012-11-03 20:44:48 +00:00
meson.build meson: add gst-ptp-helper 2017-05-05 11:49:08 +01:00