gstreamer/subprojects/gstreamer/gst/parse
Mathieu Duponchelle e4a26238a0 parse: fix parsing arrays in caps for "implicit" capsfilters
When using such a launch line:

fakesrc ! "audio/x-opus, channel-mapping=(int)<0, 1>" ! fakesink

the caps string, with spaces escaped but no quotes gets passed to
gst_caps_from_string(), which then fails to parse the array because it
contains spaces.

When using an explicit capsfilter instead:

fakesrc ! capsfilter caps="audio/x-opus, channel-mapping=(int)<0, 1>" ! fakesink

the caps string, with spaces escaped and quotes gets passed through
gst_value_deserialize, which first calls gst_str_unwrap() on it and only
then gst_caps_from_string() on the result.

This fixes the inconsistency by using a custom version of str_unwrap()
in the parser, which doesn't expect a quoted string.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4181>
2023-03-16 10:51:38 +00:00
..
gen_grammar.py.in Move files from gstreamer into the "subprojects/gstreamer/" subdir 2021-09-24 16:13:07 -03:00
gen_lex.py.in Move files from gstreamer into the "subprojects/gstreamer/" subdir 2021-09-24 16:13:07 -03:00
get_flex_version.py Move files from gstreamer into the "subprojects/gstreamer/" subdir 2021-09-24 16:13:07 -03:00
grammar.y.in parse: fix parsing arrays in caps for "implicit" capsfilters 2023-03-16 10:51:38 +00:00
meson.build meson: Add explicit check: kwarg to all run_command() calls 2022-01-09 18:12:47 +05:30
parse.l Move files from gstreamer into the "subprojects/gstreamer/" subdir 2021-09-24 16:13:07 -03:00
types.h gstparse: drop use of GSlice allocator 2023-01-24 15:25:05 +00:00