gstreamer/tests
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
..
benchmarks Use gst_object_unref() / gst_object_clear() instead of the GObject ones 2020-04-20 16:28:52 +00:00
check structure: don't unescape values before deserializing 2021-01-19 13:25:07 +00:00
examples Use gst_object_unref() / gst_object_clear() instead of the GObject ones 2020-04-20 16:28:52 +00:00
misc meson: update glib minimum version to 2.56 2020-10-15 18:12:32 +02:00
validate Meson: Override gst-tester-1.0 program to find it in other modules 2020-08-04 11:23:42 +00:00
meson.build tests: Add a gst-tester utility 2020-05-19 13:14:46 +00:00
README README: update after removal of "old" dir. 2010-07-05 12:26:42 +03:00

This directory contains regression tests, functionality tests, examples,
benchmarks, ...

benchmarks/
   benchmarks to profile pieces of GStreamer
check/
   unit tests using the check library, non-interactive
examples/
   small examples demonstrating the use of various features
misc/
   prototypes, random bits, ...