gstreamer/gst
Henry Wilkes 7f267395a6 structure: don't unescape values before deserializing
No longer call _priv_gst_value_parse_string with unescape set to TRUE
before passing a value to gst_value_deserialize in
_priv_gst_value_parse_value. This latter function is called by
gst_structure_from_string and gst_caps_from_string.

When gst_structure_to_string and gst_caps_to_string are called, no
escaping is performed after calling gst_value_serialize. Therefore, by
unescaping the value string, we were introducing an additional operation
that was not performed by the original *_to_string functions. In
particular, this has meant that the derialization functions for many
non-basic types are incomplete reverses of the corresponding
serialization function (i.e., if you pipe the output of the
serialization function into the deserialization function it could fail)
because they have to compensate for this additional escaping operation,
when really this should be the domain of the deserialization functions
instead.

Correspondingly changed a few deserialization functions.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/452

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/303>
2021-01-19 13:25:07 +00: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 gst: Add new structure/caps/_to_string using the brackets for nesting 2020-12-03 21:46:27 -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 gstbuffer: Mark buffer_map* @info as caller-allocates 2021-01-14 10:21:10 +01:00
gstbuffer.h gst: Add non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09:00
gstbufferlist.c gst: Add non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09:00
gstbufferlist.h gst: Add non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09: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 gstbus: change log level of repeated messages from INFO to DEBUG 2020-12-20 23:40:43 +01:00
gstbus.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstcaps.c gst: Add non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09:00
gstcaps.h gst: Add non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09: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 non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09:00
gstcontext.h gst: Add non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09: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 datetime: Make use of new g_time_zone_new_identifier() that properly handles errors 2020-12-07 12:14:50 +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 gir: Fix parser warning due to empty line 2020-12-10 14:08:53 -05: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 gir: Fix parser warning due to empty line 2020-12-10 14:08:53 -05:00
gstelement.c Add some missing nullable annotations 2020-11-05 14:22:24 +02:00
gstelement.h gir: Fix parser warning due to empty line 2020-12-10 14:08:53 -05: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 gst: Add non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09:00
gstevent.h gst: Add non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09: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 gstmemory: Mark memory_map @info as caller-allocates 2021-01-14 11:46:07 +02:00
gstmemory.h gst: Add non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09:00
gstmessage.c gst: Add non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09:00
gstmessage.h gst: Add non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09: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: clarify that applications should handle bus messages 2020-12-22 14:00:02 +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 gst: Add non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09:00
gstpromise.h gst: Add non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09: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 gst: Add non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09:00
gstquery.h gst: Add non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09: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 non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09:00
gstsample.h gst: Add non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09: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: Handle trailing comas in serialized structs 2020-12-10 13:35:17 +00:00
gststructure.h gst: Add new structure/caps/_to_string using the brackets for nesting 2020-12-03 21:46:27 -03: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 gst: Add non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09:00
gsttaglist.h gst: Add non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09: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 task: Use SetThreadDescription Win32 API for setting thread name 2021-01-14 18:33:42 +00: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 gir: Fix parser warning due to empty line 2020-12-10 14:08:53 -05: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 gst: Add non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09:00
gsturi.h uri: Remove leftover documentation 2021-01-13 03:05:10 +09: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: don't unescape values before deserializing 2021-01-19 13:25:07 +00: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 gst: Add non-inline methods for bindings to able to use core APIs 2021-01-11 21:54:48 +09:00