gstreamer/gst
Thibault Saunier 322caf880d structure: Add support for brackets as nested structures/caps specifiers
This introduces a more human friendly syntax to specify nested
structures It does so by using 2 different markers for opening and
closing them instead of abusing quotes which lead to requiring an insane
amount of escaping to match nesting levels.

The brackets (`[` and `]`) have been chosen as they avoid complex
constructions with curly brackets (or lower/higher than signs) where you
could have structures embedded inside arrays (which also use curly
brackets), ie. `s, array=(structure){{struct}}` should be parsed as an
array of structures, but the cast seems to imply something different. We
do not have this issue with brackets as they are currently used for
ranges, which can only be casted to numeric types.

This commit does not make use of that new syntax for serialization as
that would break backward compatibility, so it is basically a 'sugar'
syntax for humans. A notice has been explicitly made in the
documentation to let the user know about it.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/532>
2020-12-03 21:46:26 -03:00
..
parse gstvalue: expose gst_value_deserialize_with_pspec() 2020-10-03 01:02:55 +02:00
printf Remove autotools build system 2019-10-13 16:10:42 +01: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_init: Call gst_init_static_plugins() when available 2020-10-05 16:09:10 -04:00
gst.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gst_private.h structure: Add support for brackets as nested structures/caps specifiers 2020-12-03 21:46:26 -03:00
gstallocator.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gstallocator.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstatomicqueue.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstatomicqueue.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstbin.c bin: When removing a sink, check if the EOS status changed. 2020-10-30 03:56:02 +11:00
gstbin.h gstbin: Fix docs typo 2020-07-01 02:22:43 +10:00
gstbuffer.c meta: expose API to register and create custom meta 2020-09-27 11:08:03 +00:00
gstbuffer.h meta: expose API to register and create custom meta 2020-09-27 11:08:03 +00:00
gstbufferlist.c bufferlist: foreach: always remove as parent if buffer is changed 2020-03-18 14:43:08 +01:00
gstbufferlist.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstbufferpool.c Add some missing nullable annotations 2020-11-05 14:22:24 +02:00
gstbufferpool.h gst: Fix various Since markers 2019-04-23 15:08:18 +03:00
gstbus.c bus: clear bus->priv->signal_watch immediately when the source is removed 2020-06-24 15:08:59 +02:00
gstbus.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstcaps.c structure: Add support for brackets as nested structures/caps specifiers 2020-12-03 21:46:26 -03:00
gstcaps.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstcapsfeatures.c doc: Add some missing docstrings 2019-05-13 11:33:49 -04:00
gstcapsfeatures.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstchildproxy.c Use gst_object_unref() / gst_object_clear() instead of the GObject ones 2020-04-20 16:28:52 +00:00
gstchildproxy.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstclock.c gst/systemclock: wait on each entry individually 2020-04-16 01:26:59 +00:00
gstclock.h clock: remove documentation link on GTimeVal 2020-03-12 05:02:33 +00:00
gstcompat.h Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstconfig.h.in gstconfig.h.in: Windows ARM64 does not allow unaligned access 2019-06-28 13:01:14 +05:30
gstcontext.c gst: Add poisoning to more types 2018-08-03 14:31:34 +03:00
gstcontext.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstcontrolbinding.c documentation: fix a number of typos 2019-10-06 11:12:11 -04:00
gstcontrolbinding.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstcontrolsource.c gst: Don't ref_sink() GstObject subclasses in instance_init/constructor 2017-05-17 10:40:37 +03:00
gstcontrolsource.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstdatetime.c Add some missing nullable annotations 2020-11-05 14:22:24 +02:00
gstdatetime.h datetime: Add constructor for timestamps in microseconds 2019-11-25 13:31:11 +01:00
gstdebugutils.c debugutils: Skip multiqueue stats in dot dump 2020-04-21 19:53:33 +00:00
gstdebugutils.h debugutils: Make sure that GST_DEBUG_GRAPH_SHOW_VERBOSE gets the correct value in introspection 2018-11-10 19:08:52 +00:00
gstdevice.c device, elementfactory: relax floating requirement 2019-12-10 13:31:50 +01:00
gstdevice.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstdevicemonitor.c devicemonitor: Stop only the already started providers 2020-10-22 11:48:05 +00:00
gstdevicemonitor.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstdeviceprovider.c Add some missing nullable annotations 2020-11-05 14:22:24 +02:00
gstdeviceprovider.h devicemonitor: Stop only the already started providers 2020-10-22 11:48:05 +00:00
gstdeviceproviderfactory.c fix clang 10 warnings 2020-08-04 10:44:16 +00:00
gstdeviceproviderfactory.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstdynamictypefactory.c Fix up and add various "Since" markers and other related docs fixes 2020-06-19 13:10:53 +01:00
gstdynamictypefactory.h Fix up and add various "Since" markers and other related docs fixes 2020-06-19 13:10:53 +01:00
gstelement.c Add some missing nullable annotations 2020-11-05 14:22:24 +02:00
gstelement.h element: Added gst_element_get_current_clock_time and gst_element_get_current_running_time 2019-08-12 12:59:27 +03:00
gstelementfactory.c fix clang 10 warnings 2020-08-04 10:44:16 +00:00
gstelementfactory.h elementfactory: add GST_ELEMENT_FACTORY_TYPE_HARDWARE 2019-11-02 15:11:12 +01:00
gstelementmetadata.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gsterror.c doc: remove xml from comments 2019-05-29 21:33:42 +02:00
gsterror.h doc: Fix hotdoc warnings 2019-05-13 16:34:09 -04:00
gstevent.c event: Add optional flags to the GAP event 2020-09-10 16:01:19 +00:00
gstevent.h event: Add optional flags to the GAP event 2020-09-10 16:01:19 +00:00
gstformat.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstformat.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstghostpad.c ghostpad: Deprecate gst_ghost_pad_construct() 2020-06-22 12:30:48 +03:00
gstghostpad.h ghostpad: Deprecate gst_ghost_pad_construct() 2020-06-22 12:30:48 +03:00
gstinfo.c info: Warn if logging with a non-GObject object if GST_ENABLE_EXTRA_CHECKS is enabled 2020-12-02 09:35:26 +02:00
gstinfo.h Revert "gstinfo: Check threshold for category from macro" 2020-07-13 08:02:26 +02:00
gstiterator.c meson: update glib minimum version to 2.56 2020-10-15 18:12:32 +02:00
gstiterator.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstmacros.h gstmacros.h: Fix restrict definition on MSVC 2019-02-20 17:51:40 +05:30
gstmemory.c Fixing various typos 2019-06-20 15:20:27 +00:00
gstmemory.h memory: fix documentation to display in html 2020-09-28 11:43:19 +00:00
gstmessage.c event/message: Don't allow setting invalid group ids 2020-01-24 17:53:30 +02:00
gstmessage.h docs: Document the new 'redirect-location' error message detail field 2020-01-06 17:47:40 -03:00
gstmeta.c meta: expose API to register and create custom meta 2020-09-27 11:08:03 +00:00
gstmeta.h meta: expose API to register and create custom meta 2020-09-27 11:08:03 +00:00
gstminiobject.c fix clang 10 warnings 2020-08-04 10:44:16 +00:00
gstminiobject.h gst: Fix various Since markers 2019-04-23 15:08:18 +03:00
gstobject.c fix clang 10 warnings 2020-08-04 10:44:16 +00:00
gstobject.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstpad.c gstpad: Simplify task name creation 2020-05-04 12:26:10 +00:00
gstpad.h pad: More explicitly explain how to post errors on GST_FLOW_ERROR 2020-07-16 16:34:05 -04:00
gstpadtemplate.c padtemplate: mark documentation caps as may be leaked 2020-09-30 11:59:04 +10:00
gstpadtemplate.h padtemplate: expose getters and setters "documentation caps" 2020-06-06 00:38:29 +02:00
gstparamspecs.c gst: Fix up a bunch of GIR annotations 2018-01-27 10:41:24 +00:00
gstparamspecs.h Fix up and add various "Since" markers and other related docs fixes 2020-06-19 13:10:53 +01:00
gstparse.c Add some missing nullable annotations 2020-11-05 14:22:24 +02:00
gstparse.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstpipeline.c pipeline: fix base_time selection when flush seeking live 2020-04-09 15:41:36 +00:00
gstpipeline.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstplugin.c Add some missing nullable annotations 2020-11-05 14:22:24 +02:00
gstplugin.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstpluginfeature.c pluginfeature: Allow updating initial rank of plugin feature 2019-12-26 19:49:00 +00:00
gstpluginfeature.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstpluginloader.c pluginloader: handle fsync interrupted by signal (EINTR) 2019-12-12 20:49:36 +01:00
gstpluginloader.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gstpoll.c Port to hotdoc 2019-05-13 16:34:09 -04:00
gstpoll.h poll: add API to watch for POLLPRI 2018-06-08 11:53:55 -04:00
gstpreset.c Use gst_object_unref() / gst_object_clear() instead of the GObject ones 2020-04-20 16:28:52 +00:00
gstpreset.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstpromise.c promise: update documentation and annotations for NULL replies 2020-05-28 10:23:51 +00:00
gstpromise.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstprotection.c protection: Release decryptors list, even if it's empty 2018-06-25 16:38:13 +01:00
gstprotection.h doc: Fix hotdoc warnings 2019-05-13 16:34:09 -04:00
gstquark.c event: Add optional flags to the GAP event 2020-09-10 16:01:19 +00:00
gstquark.h event: Add optional flags to the GAP event 2020-09-10 16:01:19 +00:00
gstquery.c query: add a new bitrate query 2018-11-07 15:04:14 +00:00
gstquery.h event, query: fix g-ir-scanner warnings 2020-07-26 15:34:54 +01:00
gstregistry.c Add some missing nullable annotations 2020-11-05 14:22:24 +02:00
gstregistry.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstregistrybinary.c registrybinary: Also call fclose() if fflush()/fsync() failed 2020-05-06 07:33:42 +00:00
gstregistrybinary.h tracer: initial prototype for the tracing subsystem 2015-10-05 20:59:39 +02:00
gstregistrychunks.c registry: Print the pointer when printing features 2020-06-23 12:16:49 +01:00
gstregistrychunks.h dynamic types: Implement dynamic types in the registry 2016-11-02 11:21:37 +11:00
gstsample.c gst: Add poisoning to more types 2018-08-03 14:31:34 +03:00
gstsample.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstsegment.c gstsegment: Refuse instant-rate seeks in gst_segment_do_seek() 2020-03-26 13:51:41 +00:00
gstsegment.h segment: Enhance the GstSegment structure documentation 2020-05-05 20:52:11 +00:00
gststreamcollection.c Add some missing nullable annotations 2020-11-05 14:22:24 +02:00
gststreamcollection.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gststreams.c streams: gst_stream_type_get_name() is not nullable 2020-12-02 14:21:46 +00:00
gststreams.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gststructure.c structure: Add support for brackets as nested structures/caps specifiers 2020-12-03 21:46:26 -03:00
gststructure.h structure: add gst_structure_take 2019-11-14 10:08:38 +00:00
gstsystemclock.c systemclock: Use clock_nanosleep for higher accuracy 2020-11-06 11:22:14 +01:00
gstsystemclock.h Add missing colons to Since markers in the docs 2020-05-01 10:07:09 +03:00
gsttaglist.c taglist: Stop inlining gst_tag_list_copy 2020-07-09 07:57:01 -04:00
gsttaglist.h taglist: Stop inlining gst_tag_list_copy 2020-07-09 07:57:01 -04:00
gsttagsetter.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gsttagsetter.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gsttask.c gst: Delay creation of threadpools 2020-06-16 08:23:21 +02:00
gsttask.h task: Introduce gst_task_resume() API 2020-04-01 15:13:59 +00:00
gsttaskpool.c taskpool: fix docs warnings 2020-11-20 14:57:55 +00:00
gsttaskpool.h taskpool: expose new "shared" task pool implementation 2020-11-05 18:18:28 +00:00
gsttoc.c gst: Add poisoning to more types 2018-08-03 14:31:34 +03:00
gsttoc.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gsttocsetter.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gsttocsetter.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gsttracer.c tracer: declare GstTracer API stable 2020-07-24 13:33:50 +01:00
gsttracer.h tracer: declare GstTracer API stable 2020-07-24 13:33:50 +01:00
gsttracerfactory.c Fix up and add various "Since" markers and other related docs fixes 2020-06-19 13:10:53 +01:00
gsttracerfactory.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gsttracerrecord.c tracer: declare GstTracer API stable 2020-07-24 13:33:50 +01:00
gsttracerrecord.h tracer: declare GstTracer API stable 2020-07-24 13:33:50 +01:00
gsttracerutils.c tracer: declare GstTracer API stable 2020-07-24 13:33:50 +01:00
gsttracerutils.h gst: Documentation fixes 2018-04-02 12:42:30 +02:00
gsttypefind.c Add some missing nullable annotations 2020-11-05 14:22:24 +02:00
gsttypefind.h doc: Fix hotdoc warnings 2019-05-13 16:34:09 -04:00
gsttypefindfactory.c Add some missing nullable annotations 2020-11-05 14:22:24 +02:00
gsttypefindfactory.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gsturi.c Add some missing nullable annotations 2020-11-05 14:22:24 +02:00
gsturi.h gsturi: Add new API for storing unmodified userinfo / fragment 2020-08-03 16:07:45 +00:00
gstutils.c Add some missing nullable annotations 2020-11-05 14:22:24 +02:00
gstutils.h utils: silence g-ir-scanner warnings about float conversion macros 2020-07-26 15:34:54 +01:00
gstvalue.c structure: Add support for brackets as nested structures/caps specifiers 2020-12-03 21:46:26 -03:00
gstvalue.h gstvalue: expose gst_value_deserialize_with_pspec() 2020-10-03 01:02:55 +02:00
gstversion.h.in gstversion: Add missing include in .in file. 2015-08-15 13:26:12 +02:00
math-compat.h math-compat.h: silence g-ir-scanner warnings 2020-07-26 15:34:54 +01:00
meson.build Meson: Use pkg-config generator 2020-10-12 13:39:17 +00:00