Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gstreamer-devtools for openSUSE:Factory checked in at 2026-09-11 18:01:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gstreamer-devtools (Old) and /work/SRC/openSUSE:Factory/.gstreamer-devtools.new.1265 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gstreamer-devtools" Fri Sep 11 18:01:26 2026 rev:53 rq:1376926 version:1.28.7 Changes: -------- --- /work/SRC/openSUSE:Factory/gstreamer-devtools/gstreamer-devtools.changes 2026-08-06 16:28:14.517072619 +0200 +++ /work/SRC/openSUSE:Factory/.gstreamer-devtools.new.1265/gstreamer-devtools.changes 2026-09-11 18:04:51.156665531 +0200 @@ -1,0 +2,6 @@ +Tue Sep 8 07:22:00 UTC 2026 - Bjørn Lie <[email protected]> + +- Update to version 1.28.7: + + validate: Use a single value type in configs lists + +------------------------------------------------------------------- Old: ---- gst-devtools-1.28.6.obscpio New: ---- gst-devtools-1.28.7.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gstreamer-devtools.spec ++++++ --- /var/tmp/diff_new_pack.NU3UEr/_old 2026-09-11 18:04:52.012701318 +0200 +++ /var/tmp/diff_new_pack.NU3UEr/_new 2026-09-11 18:04:52.014701402 +0200 @@ -22,7 +22,7 @@ %{?sle15_python_module_pythons} Name: gstreamer-devtools -Version: 1.28.6 +Version: 1.28.7 Release: 0 Summary: Development and debugging tools for GStreamer License: LGPL-2.1-or-later ++++++ _service ++++++ --- /var/tmp/diff_new_pack.NU3UEr/_old 2026-09-11 18:04:52.045702698 +0200 +++ /var/tmp/diff_new_pack.NU3UEr/_new 2026-09-11 18:04:52.048702823 +0200 @@ -5,7 +5,7 @@ <param name="url">https://gitlab.freedesktop.org/gstreamer/gstreamer.git</param> <param name="subdir">subprojects/gst-devtools</param> <param name="filename">gst-devtools</param> - <param name="revision">1.28.6</param> + <param name="revision">1.28.7</param> <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param> <param name="versionrewrite-pattern">v?(.*)\+0</param> <param name="versionrewrite-replacement">\1</param> ++++++ gst-devtools-1.28.6.obscpio -> gst-devtools-1.28.7.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-devtools-1.28.6/docs/fakesrc.simple.validatetest new/gst-devtools-1.28.7/docs/fakesrc.simple.validatetest --- old/gst-devtools-1.28.6/docs/fakesrc.simple.validatetest 2026-08-05 13:59:39.000000000 +0200 +++ new/gst-devtools-1.28.7/docs/fakesrc.simple.validatetest 2026-09-07 21:11:13.000000000 +0200 @@ -1,8 +1,8 @@ meta, - args = { - "fakesrc num-buffers=1 ! fakesink name=sink", + args={ + "fakesrc num-buffers=1 ! fakesink name=sink", }, - configs = { - "$(validateflow), pad=sink:sink, buffers-checksum=true", + configs={ + [validateflow, pad=sink:sink, buffers-checksum=true], } -# The validate tool will simply play the pipeline until EOS is reached. \ No newline at end of file +# The validate tool will simply play the pipeline until EOS is reached. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-devtools-1.28.6/docs/gst-validate-flow.md new/gst-devtools-1.28.7/docs/gst-validate-flow.md --- old/gst-devtools-1.28.6/docs/gst-validate-flow.md 2026-08-05 13:59:39.000000000 +0200 +++ new/gst-devtools-1.28.7/docs/gst-validate-flow.md 2026-09-07 21:11:13.000000000 +0200 @@ -76,7 +76,7 @@ "appsrc ! qtdemux ! fakesink async=false", }, configs = { - "$(validateflow), pad=fakesink0:sink, record-buffers=false", + [validateflow, pad=fakesink0:sink, record-buffers=false], } # Scenario action types @@ -91,14 +91,7 @@ This example shows the elements of a typical validate flow test (a pipeline, a config and a scenario). Some actions typically used together with validateflow can also be seen. Notice variable interpolation is used to fill absolute paths -for media files in the scenario (`$(test_dir)`). In the configuration, -`$(validateflow)` is expanded to something like this, containing proper paths -for expectations and actual results (these values are interpolated from the -`.validatetest` file location): - -``` ini -validateflow, expectations-dir="/validate/test/file/path/validateqtdemux_change_edit_list/flow-expectations/", actual-results-dir="$(GST_VALIDATE_LOGSDIR)/logs/validate/launch_pipeline/qtdemux_change_edit_list" -``` +for media files in the scenario (`$(test_dir)`). The resulting log looks like this: @@ -157,16 +150,12 @@ for backward compatibility reasons, upstream events are not logged by default, and you must specify the ones you want to be logged. * `expectations-dir`: Path to the directory where the expectations will be - written if they don't exist, relative to the current working directory. By - default the current working directory is used, but this setting is usually - set automatically as part of the `%(validateflow)s` expansion to a correct - path like `~/gst-validate/gst-integration-testsuites/flow-expectations/<test - name>`. + written if they don't exist. Automatically derived from the test file path + as `<test_dir>/<test_name>/flow-expectations/`. Can be overridden explicitly. * `actual-results-dir`: Path to the directory where the events will be recorded. - The expectation file will be compared to this. By default the current working - directory is used, but this setting is usually set automatically as part of - the `%(validateflow)s` expansion to the test log directory, i.e. - `~/gst-validate/logs/validate/launch_pipeline/<test name>`. + The expectation file will be compared to this. Automatically derived as + `$GST_VALIDATE_LOGSDIR/<test_name_dir>/` (where dots in the test name are + replaced by directory separators). Can be overridden explicitly. * `generate-expectations`: Default: unset. When set to `true` the expectation file will be written and no testing will be done and if set to `false`, the expectation file will be required. If a validateflow config is used without diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-devtools-1.28.6/docs/gst-validate-test-file.md new/gst-devtools-1.28.7/docs/gst-validate-test-file.md --- old/gst-devtools-1.28.6/docs/gst-validate-test-file.md 2026-08-05 13:59:39.000000000 +0200 +++ new/gst-devtools-1.28.7/docs/gst-validate-test-file.md 2026-09-07 21:11:13.000000000 +0200 @@ -50,10 +50,11 @@ * `$(test_name_dir)`: The name of the test directory (test_name with folder separator instead of `.`). -* `$(validateflow)`: The validateflow structure name with the default/right - values for the `expectations-dir` and `actual-results-dir` - fields. See [validateflow](gst-validate-flow.md) for more - information. +* `$(validateflow)`: Legacy variable that expands to the validateflow structure + name with `expectations-dir` and `actual-results-dir` set. + Not needed when using the nested structure syntax (e.g. + `[validateflow, pad=sink:sink]`) since directories are + auto-derived from the test file path. * `$(videosink)`: The GStreamer videosink to use if the test can work with different sinks for the video. It allows the tool to use diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-devtools-1.28.6/gst-devtools.doap new/gst-devtools-1.28.7/gst-devtools.doap --- old/gst-devtools-1.28.6/gst-devtools.doap 2026-08-05 13:59:39.000000000 +0200 +++ new/gst-devtools-1.28.7/gst-devtools.doap 2026-09-07 21:11:13.000000000 +0200 @@ -55,6 +55,16 @@ <release> <Version> + <revision>1.28.7</revision> + <branch>1.28</branch> + <name></name> + <created>2026-09-07</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-1.28.7.tar.xz" /> + </Version> + </release> + + <release> + <Version> <revision>1.28.6</revision> <branch>1.28</branch> <name></name> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-devtools-1.28.6/meson.build new/gst-devtools-1.28.7/meson.build --- old/gst-devtools-1.28.6/meson.build 2026-08-05 13:59:39.000000000 +0200 +++ new/gst-devtools-1.28.7/meson.build 2026-09-07 21:11:13.000000000 +0200 @@ -1,5 +1,5 @@ project('gst-devtools', 'c', - version : '1.28.6', + version : '1.28.7', meson_version : '>= 1.4', default_options : [ 'warning_level=1', 'buildtype=debugoptimized', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-devtools-1.28.6/validate/gst/validate/flow/gstvalidateflow.c new/gst-devtools-1.28.7/validate/gst/validate/flow/gstvalidateflow.c --- old/gst-devtools-1.28.6/validate/gst/validate/flow/gstvalidateflow.c 2026-08-05 13:59:39.000000000 +0200 +++ new/gst-devtools-1.28.7/validate/gst/validate/flow/gstvalidateflow.c 2026-09-07 21:11:13.000000000 +0200 @@ -342,18 +342,66 @@ /* expectations-dir: Path to the directory where the expectations will be * written if they don't exist, relative to the current working directory. - * By default the current working directory is used. */ + * By default, derived from the test file path (__filename__) if available, + * otherwise the current working directory is used. */ flow->expectations_dir = g_strdup (gst_structure_get_string (config, "expectations-dir")); - if (!flow->expectations_dir) - flow->expectations_dir = g_strdup ("."); /* actual-results-dir: Path to the directory where the events will be - * recorded. The expectation file will be compared to this. */ + * recorded. The expectation file will be compared to this. By default, + * derived from the test file path (__filename__) if available, otherwise + * the current working directory is used. */ flow->actual_results_dir = g_strdup (gst_structure_get_string (config, "actual-results-dir")); - if (!flow->actual_results_dir) - flow->actual_results_dir = g_strdup ("."); + + /* Auto-derive directories from __filename__ when not explicitly set */ + if (!flow->expectations_dir || !flow->actual_results_dir) { + const gchar *filename = gst_structure_get_string (config, "__filename__"); + + if (filename) { + gchar *config_dir = g_path_get_dirname (filename); + gchar *config_fname = g_path_get_basename (filename); + gchar *config_name = g_strdup (config_fname); + gchar *dot; + + /* Strip .validatetest extension */ + dot = strrchr (config_name, '.'); + if (dot && dot > config_name) + *dot = '\0'; + + if (!flow->expectations_dir) + flow->expectations_dir = + g_build_path ("/", config_dir, config_name, "flow-expectations", + NULL); + + if (!flow->actual_results_dir) { + const gchar *logsdir = g_getenv ("GST_VALIDATE_LOGSDIR"); + gchar *config_name_dir, *t; + + if (!logsdir) + logsdir = g_get_tmp_dir (); + + config_name_dir = g_strdup (config_name); + for (t = config_name_dir; *t != '\0'; t++) { + if (*t == '.') + *t = '/'; + } + + flow->actual_results_dir = + g_build_path ("/", logsdir, config_name_dir, NULL); + g_free (config_name_dir); + } + + g_free (config_dir); + g_free (config_fname); + g_free (config_name); + } else { + if (!flow->expectations_dir) + flow->expectations_dir = g_strdup ("."); + if (!flow->actual_results_dir) + flow->actual_results_dir = g_strdup ("."); + } + } { gchar *pad_name_safe = make_safe_file_name (flow->pad_name); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-devtools-1.28.6/validate/tests/launcher_tests/appsink_forward.validatetest new/gst-devtools-1.28.7/validate/tests/launcher_tests/appsink_forward.validatetest --- old/gst-devtools-1.28.6/validate/tests/launcher_tests/appsink_forward.validatetest 2026-08-05 13:59:39.000000000 +0200 +++ new/gst-devtools-1.28.7/validate/tests/launcher_tests/appsink_forward.validatetest 2026-09-07 21:11:13.000000000 +0200 @@ -1,5 +1,5 @@ set-globals, - appsrc_props="handle-segment-change=true \ + appsrc_props="handle-segment-change=true \ automatic-eos=false \ min-latency=0 \ max-latency=-1 \ @@ -11,39 +11,45 @@ leaky-type=downstream" meta, - args = { - "appsrc name=src $(appsrc_props) ! videoconvert ! $(videosink) name=sink", + args={ + "appsrc name=src $(appsrc_props) ! videoconvert ! $(videosink) name=sink", }, - configs = { - "$(validateflow), pad=source-sink:sink, buffers-checksum=as-id, ignored-event-types={ tag, stream-start }", - "$(validateflow), pad=selector-sink:sink, buffers-checksum=as-id, ignored-event-types={ tag, stream-start }", + configs={ + [validateflow, + pad=source-sink:sink, + buffers-checksum=as-id, + ignored-event-types={ + tag, stream-start, + }], + [validateflow, + pad=selector-sink:sink, + buffers-checksum=as-id, + ignored-event-types={ + tag, stream-start, + }], }, handles-states=true, ignore-eos=true # Source pipeline create-sub-pipeline, - name=source, - desc="videotestsrc num-buffers=5 name=src ! video/x-raw,framerate=30/1,format=I420,width=320,height=240 ! timeoverlay ! appsink name=source-sink sync=true max-buffers=10 drop=true", - scenario={ - [meta], + name=source, + desc="videotestsrc num-buffers=5 name=src ! video/x-raw,framerate=30/1,format=I420,width=320,height=240 ! timeoverlay ! appsink name=source-sink sync=true max-buffers=10 drop=true", + scenario={ + [meta], } # "selector" pipeline create-sub-pipeline, - name=selector, - desc="appsrc name=selector-src1 $(appsrc_props) ! input-selector ! appsink name=selector-sink sync=true max-buffers=10 drop=true", - scenario={ - [meta], + name=selector, + desc="appsrc name=selector-src1 $(appsrc_props) ! input-selector ! appsink name=selector-sink sync=true max-buffers=10 drop=true", + scenario={ + [meta], } -appsink-forward-to-appsrc, - sink=source/source-sink, - src=selector/selector-src1 - -appsink-forward-to-appsrc, - sink=selector/selector-sink, - src=src +appsink-forward-to-appsrc, sink=source/source-sink, src=selector/selector-src1 + +appsink-forward-to-appsrc, sink=selector/selector-sink, src=src play diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-devtools-1.28.6/validate/tests/launcher_tests/check_set_prop_never_called_error.validatetest new/gst-devtools-1.28.7/validate/tests/launcher_tests/check_set_prop_never_called_error.validatetest --- old/gst-devtools-1.28.6/validate/tests/launcher_tests/check_set_prop_never_called_error.validatetest 2026-08-05 13:59:39.000000000 +0200 +++ new/gst-devtools-1.28.7/validate/tests/launcher_tests/check_set_prop_never_called_error.validatetest 2026-09-07 21:11:13.000000000 +0200 @@ -1,9 +1,13 @@ meta, - args = { - "fakesrc num-buffers=1 ! fakesink", + args={ + "fakesrc num-buffers=1 ! fakesink", }, - expected-issues = { - "expected-issue, issue-id=scenario::not-ended", + expected-issues={ + [expected-issue, + issue-id=scenario::not-ended], } -set-property, target-element-factory-name=capsfilter, property-name=caps, property-value="video/x-raw,framerate=30/1,format=I420" \ No newline at end of file +set-property, + target-element-factory-name=capsfilter, + property-name=caps, + property-value="video/x-raw,framerate=30/1,format=I420" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-devtools-1.28.6/validate/tests/launcher_tests/check_set_props_and_time_props.validatetest new/gst-devtools-1.28.7/validate/tests/launcher_tests/check_set_props_and_time_props.validatetest --- old/gst-devtools-1.28.6/validate/tests/launcher_tests/check_set_props_and_time_props.validatetest 2026-08-05 13:59:39.000000000 +0200 +++ new/gst-devtools-1.28.7/validate/tests/launcher_tests/check_set_props_and_time_props.validatetest 2026-09-07 21:11:13.000000000 +0200 @@ -1,11 +1,14 @@ meta, handles-states=true, - args = { + args={ "videotestsrc pattern=blue ! compositor name=c ! video/x-raw,width=100,height=100,framerate=10/1 ! $(videosink) videotestsrc pattern=green ! c.", } # Start with the green stream on the top left corner and the blue on in the bottom right -set-timed-value-properties, timestamp=0.0, source-type=GstTriggerControlSource, binding-type=direct-absolute, +set-timed-value-properties, + timestamp=0.0, + source-type=GstTriggerControlSource, + binding-type=direct-absolute, c.sink_0::xpos=50, c.sink_0::ypos=50, c.sink_0::width=50, @@ -16,7 +19,10 @@ c.sink_1::height=50 # And invert it after 1 second of playback -set-timed-value-properties, timestamp=1.0, source-type=GstTriggerControlSource, binding-type=direct-absolute, +set-timed-value-properties, + timestamp=1.0, + source-type=GstTriggerControlSource, + binding-type=direct-absolute, c.sink_0::xpos=0, c.sink_0::ypos=0, c.sink_1::xpos=50, @@ -46,9 +52,19 @@ c.sink_1::xpos=50, c.sink_1::ypos=50 -set-properties, c.sink_0::xpos=50, c.sink_0::ypos=50, c.sink_1::xpos=0, c.sink_1::ypos=0 -check-properties, c.sink_0::xpos=50, c.sink_0::ypos=50, c.sink_1::xpos=0, c.sink_1::ypos=0 +set-properties, + c.sink_0::xpos=50, + c.sink_0::ypos=50, + c.sink_1::xpos=0, + c.sink_1::ypos=0 +check-properties, + c.sink_0::xpos=50, + c.sink_0::ypos=50, + c.sink_1::xpos=0, + c.sink_1::ypos=0 -set-properties, c::latency=50.0 -check-properties, c::latency=50.0 -stop \ No newline at end of file +set-properties, + c::latency=50.0 +check-properties, + c::latency=50.0 +stop diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-devtools-1.28.6/validate/tests/launcher_tests/foreach.validatetest new/gst-devtools-1.28.7/validate/tests/launcher_tests/foreach.validatetest --- old/gst-devtools-1.28.6/validate/tests/launcher_tests/foreach.validatetest 2026-08-05 13:59:39.000000000 +0200 +++ new/gst-devtools-1.28.7/validate/tests/launcher_tests/foreach.validatetest 2026-09-07 21:11:13.000000000 +0200 @@ -1,47 +1,48 @@ meta, handles-states=true, - args = { + args={ "videotestsrc pattern=ball animation-mode=frames num-buffers=30 ! video/x-raw,framerate=10/1 ! $(videosink) name=sink sync=true", }, - expected-issues = { - [ - expected-issue, - level=critical, - issue-id=scenario::execution-error, - details="Pipeline position doesn.t match expectations got 0:00:00.100000000 instead of.*", - ], - [ - expected-issue, - level=critical, - issue-id=scenario::execution-error, - details="Pipeline position doesn.t match expectations got 0:00:00.200000000 instead of.*", - ], + expected-issues={ + [expected-issue, + level=critical, + issue-id=scenario::execution-error, + details="Pipeline position doesn.t match expectations got 0:00:00.100000000 instead of.*"], + [expected-issue, + level=critical, + issue-id=scenario::execution-error, + details="Pipeline position doesn.t match expectations got 0:00:00.200000000 instead of.*"], } pause; -foreach, n=[0, 2], - actions = { +foreach, + n=[0, 2], + actions={ [seek, start="$(position)+0.1", flags="accurate+flush"], - [check-position, expected-position="expr($(n)*0.01)"], # expected to fail + [check-position, expected-position="expr($(n)*0.01)"], # expected to fail } priv_check-action-type-calls, type=seek, n=2 priv_check-action-type-calls, type=check-position, n=2 -foreach, n=[0, 6], actions = { - [seek, start="$(position)+0.1", flags="accurate+flush"], - [check-position, expected-position="expr((3 + $(n)) * 0.1)"], -} +foreach, + n=[0, 6], + actions={ + [seek, start="$(position)+0.1", flags="accurate+flush"], + [check-position, expected-position="expr((3 + $(n)) * 0.1)"], + } priv_check-action-type-calls, type=seek, n=8 priv_check-action-type-calls, type=check-position, n=8 check-position, expected-position=0.8 -foreach, n=[9, 11], actions = { - [seek, start="$(position)+0.1", flags="accurate+flush"], - [check-position, expected-position="expr($(n)*0.1)"], -} +foreach, + n=[9, 11], + actions={ + [seek, start="$(position)+0.1", flags="accurate+flush"], + [check-position, expected-position="expr($(n)*0.1)"], + } priv_check-action-type-calls, type=seek, n=10 # We called it once manually priv_check-action-type-calls, type=check-position, n=11 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-devtools-1.28.6/validate/tests/launcher_tests/foreach_array.validatetest new/gst-devtools-1.28.7/validate/tests/launcher_tests/foreach_array.validatetest --- old/gst-devtools-1.28.6/validate/tests/launcher_tests/foreach_array.validatetest 2026-08-05 13:59:39.000000000 +0200 +++ new/gst-devtools-1.28.7/validate/tests/launcher_tests/foreach_array.validatetest 2026-09-07 21:11:13.000000000 +0200 @@ -1,33 +1,39 @@ meta, handles-states=true, - args = { + args={ "videotestsrc pattern=ball name=s ! fakesink", } -foreach, pattern=<green, blue>, - actions = { - [set-properties, s::pattern="$(pattern)"], +foreach, + pattern=<green, blue>, + actions={ + [set-properties, + s::pattern="$(pattern)"], } priv_check-action-type-calls, type=set-properties, n=2 -check-properties, s::pattern="Blue" +check-properties, + s::pattern="Blue" -foreach, pattern=< - # We can also pass int values (which works for enums) - 1, 3, 5, # green - >, - actions = { - [set-properties, s::pattern="$(pattern)"], +foreach, + pattern=<1, 3, 5>, + actions={ + [set-properties, + s::pattern="$(pattern)"], } priv_check-action-type-calls, type=set-properties, n=5 -check-properties, s::pattern="Green" +check-properties, + s::pattern="Green" -foreach, pattern=<blue, white, black>, - actions = { - [set-properties, s::pattern="$(pattern)"], +foreach, + pattern=<blue, white, black>, + actions={ + [set-properties, + s::pattern="$(pattern)"], } priv_check-action-type-calls, type=set-properties, n=8 -check-properties, s::pattern="100\%\ Black" +check-properties, + s::pattern="100\%\ Black" stop diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-devtools-1.28.6/validate/tests/launcher_tests/foreach_deep.validatetest new/gst-devtools-1.28.7/validate/tests/launcher_tests/foreach_deep.validatetest --- old/gst-devtools-1.28.6/validate/tests/launcher_tests/foreach_deep.validatetest 2026-08-05 13:59:39.000000000 +0200 +++ new/gst-devtools-1.28.7/validate/tests/launcher_tests/foreach_deep.validatetest 2026-09-07 21:11:13.000000000 +0200 @@ -1,51 +1,40 @@ meta, handles-states=true, - args = { + args={ "videotestsrc pattern=ball animation-mode=frames num-buffers=30 ! video/x-raw,framerate=10/1 ! $(videosink) name=sink sync=true", }, - expected-issues = { - [ - expected-issue, - level=critical, - issue-id=scenario::execution-error, - details="Pipeline position doesn.t match expectations got 0:00:00.100000000 instead of.*", - ], - [ - expected-issue, - level=critical, - issue-id=scenario::execution-error, - details="Pipeline position doesn.t match expectations got 0:00:00.200000000 instead of.*", - ], - [ - expected-issue, - level=critical, - issue-id=scenario::execution-error, - details="Expected subaction level 4, got 3", - ], - [ - expected-issue, - level=critical, - issue-id=scenario::execution-error, - details="Expected subaction level 4, got 3", - ], - [ - expected-issue, - level=critical, - issue-id=scenario::execution-error, - details="Expected subaction level 5, got 4", - ], - [ - expected-issue, - level=critical, - issue-id=scenario::execution-error, - details="Expected subaction level 5, got 4", - ], + expected-issues={ + [expected-issue, + level=critical, + issue-id=scenario::execution-error, + details="Pipeline position doesn.t match expectations got 0:00:00.100000000 instead of.*"], + [expected-issue, + level=critical, + issue-id=scenario::execution-error, + details="Pipeline position doesn.t match expectations got 0:00:00.200000000 instead of.*"], + [expected-issue, + level=critical, + issue-id=scenario::execution-error, + details="Expected subaction level 4, got 3"], + [expected-issue, + level=critical, + issue-id=scenario::execution-error, + details="Expected subaction level 4, got 3"], + [expected-issue, + level=critical, + issue-id=scenario::execution-error, + details="Expected subaction level 5, got 4"], + [expected-issue, + level=critical, + issue-id=scenario::execution-error, + details="Expected subaction level 5, got 4"], } pause; -foreach, n=[0, 2], +foreach, + n=[0, 2], actions={ [seek, start="$(position)+0.1", flags="accurate+flush"], [check-position, expected-position="expr($(n)*0.01)"], # Expected failling subaction! @@ -54,27 +43,28 @@ priv_check-action-type-calls, type=seek, n=2 priv_check-action-type-calls, type=check-position, n=2 -foreach, i=[0, 2], +foreach, + i=[0, 2], actions={ [seek, start="$(position)+0.1", flags="accurate+flush"], [priv_check-subaction-level, level=1], - [foreach, j=[0, 1], + [foreach, + j=[0, 1], actions={ [priv_check-subaction-level, level=2], - [foreach, k=[0, 1], + [foreach, + k=[0, 1], actions={ [priv_check-subaction-level, level=4], # Failling... twice [priv_check-subaction-level, level=3], - [foreach, l=[0, 1], + [foreach, + l=[0, 1], actions={ [priv_check-subaction-level, level=4], - [priv_check-subaction-level, level=5], # Failling... twice - }, - ], - }, - ], - }, - ], + [priv_check-subaction-level, level=5], # Failling... twice + }], + }], + }], } priv_check-action-type-calls, type=seek, n=4 stop diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-devtools-1.28.6/validate/tests/launcher_tests/foreach_repeat.validatetest new/gst-devtools-1.28.7/validate/tests/launcher_tests/foreach_repeat.validatetest --- old/gst-devtools-1.28.6/validate/tests/launcher_tests/foreach_repeat.validatetest 2026-08-05 13:59:39.000000000 +0200 +++ new/gst-devtools-1.28.7/validate/tests/launcher_tests/foreach_repeat.validatetest 2026-09-07 21:11:13.000000000 +0200 @@ -1,13 +1,14 @@ meta, handles-states=true, - args = { + args={ "videotestsrc name=src pattern=ball animation-mode=frames num-buffers=30 ! video/x-raw,framerate=10/1 ! $(videosink) name=sink sync=true", } pause; -foreach, repeat="max(1, 2)", - actions = { +foreach, + repeat="max(1, 2)", + actions={ "seek, start=\"$(position)+0.1\", flags=\"accurate+flush\"", "check-position, expected-position=\"expr((1+$(repeat))*0.1)\"", } @@ -18,12 +19,13 @@ foreach, repeat=2, pattern=[0, 10, 5], - actions = { + actions={ "set-properties, src::horizontal-speed=\"$(pattern)\"", "check-properties, src::horizontal-speed=\"$(pattern)\"", } -check-properties, src::horizontal-speed=5 +check-properties, + src::horizontal-speed=5 priv_check-action-type-calls, type=set-properties, n=4 priv_check-action-type-calls, type=check-properties, n=5 priv_check-action-type-calls, type=seek, n=2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-devtools-1.28.6/validate/tests/launcher_tests/multipipe.validatetest new/gst-devtools-1.28.7/validate/tests/launcher_tests/multipipe.validatetest --- old/gst-devtools-1.28.6/validate/tests/launcher_tests/multipipe.validatetest 2026-08-05 13:59:39.000000000 +0200 +++ new/gst-devtools-1.28.7/validate/tests/launcher_tests/multipipe.validatetest 2026-09-07 21:11:13.000000000 +0200 @@ -1,5 +1,5 @@ set-globals, - appsrc_props="handle-segment-change=true \ + appsrc_props="handle-segment-change=true \ automatic-eos=false \ min-latency=0 \ max-latency=-1 \ @@ -11,17 +11,17 @@ leaky-type=downstream" meta, - args = { - "appsrc name=src $(appsrc_props) ! videoconvert ! $(videosink) name=sink", + args={ + "appsrc name=src $(appsrc_props) ! videoconvert ! $(videosink) name=sink", }, handles-states=true # Start a new pipeline with an `appsink` create-sub-pipeline, - name=subpipeline, - desc="videotestsrc ! timeoverlay ! appsink name=appsink sync=true max-buffers=10 drop=true", - scenario={ - [meta, ignore-eos=true], + name=subpipeline, + desc="videotestsrc ! timeoverlay ! appsink name=appsink sync=true max-buffers=10 drop=true", + scenario={ + [meta, ignore-eos=true], } # Pull sample from the sub pipeline and push it into the main pipeline appsrc @@ -31,37 +31,27 @@ play # Seek on the sub pipeline -run-on-sub-pipeline, - pipeline-name=subpipeline, - action=[seek, flags=accurate+flush, start=5.0, stop=15.0] +run-on-sub-pipeline, pipeline-name=subpipeline, action=[seek, flags=accurate+flush, start=5.0, stop=15.0] # Then forward 10 buffers from sub pipeline to main pipeline foreach, - i=[0, 10], - actions = { - [ - appsrc-push, target-element-name=src, from-appsink="subpipeline/appsink", - ], - } + i=[0, 10], + actions={ + [appsrc-push, target-element-name=src, from-appsink="subpipeline/appsink"], + } # And seek the sub pipeline again -run-on-sub-pipeline, - pipeline-name=subpipeline, - action=[seek, flags=accurate+flush, start=1.0, stop=5.0] +run-on-sub-pipeline, pipeline-name=subpipeline, action=[seek, flags=accurate+flush, start=1.0, stop=5.0] # And forward 10 more buffers from sub pipeline to main pipeline foreach, - i=[0, 10], - actions = { - [ - appsrc-push, target-element-name=src, from-appsink="subpipeline/appsink", - ], - } + i=[0, 10], + actions={ + [appsrc-push, target-element-name=src, from-appsink="subpipeline/appsink"], + } # Stop the sub pipeline -run-on-sub-pipeline, - pipeline-name=subpipeline, - action=[stop] +run-on-sub-pipeline, pipeline-name=subpipeline, action=[stop] # And finish everything by marking main pipeline as EOS appsrc-eos, target-element-name=src diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-devtools-1.28.6/validate/tests/launcher_tests/not_negotiated.accept_caps_failure.validatetest new/gst-devtools-1.28.7/validate/tests/launcher_tests/not_negotiated.accept_caps_failure.validatetest --- old/gst-devtools-1.28.6/validate/tests/launcher_tests/not_negotiated.accept_caps_failure.validatetest 2026-08-05 13:59:39.000000000 +0200 +++ new/gst-devtools-1.28.7/validate/tests/launcher_tests/not_negotiated.accept_caps_failure.validatetest 2026-09-07 21:11:13.000000000 +0200 @@ -1,7 +1,10 @@ meta, - args = { + args={ "audiotestsrc ! capsfilter caps=\"audio/x-raw,channels=2,channel-mask=(bitmask)0x67\" ! audioconvert ! capsfilter caps=\"audio/x-raw,channels=6,channel-mask=(bitmask)0x32\" name=capsfilter ! fakesink", }, - expected-issues = { - "expected-issue, level=critical, summary=\"a NOT NEGOTIATED message has been posted on the bus.\", details=\".*Caps negotiation failed at pad.*capsfilter:sink.*as it refused caps:.*\"", + expected-issues={ + [expected-issue, + level=critical, + summary="a NOT NEGOTIATED message has been posted on the bus.", + details=".*Caps negotiation failed at pad.*capsfilter:sink.*as it refused caps:.*"], } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-devtools-1.28.6/validate/tests/launcher_tests/overrides.validatetest new/gst-devtools-1.28.7/validate/tests/launcher_tests/overrides.validatetest --- old/gst-devtools-1.28.6/validate/tests/launcher_tests/overrides.validatetest 2026-08-05 13:59:39.000000000 +0200 +++ new/gst-devtools-1.28.7/validate/tests/launcher_tests/overrides.validatetest 2026-09-07 21:11:13.000000000 +0200 @@ -1,13 +1,18 @@ meta, - args = { + args={ "videotestsrc ! capsfilter name=cf ! fakesink", }, - overrides = { - [change-severity, issue-id=runtime::not-negotiated, new-severity=warning], - [change-severity, issue-id=scenario::not-ended, new-severity=warning], + overrides={ + [change-severity, + issue-id=runtime::not-negotiated, + new-severity=warning], + [change-severity, + issue-id=scenario::not-ended, + new-severity=warning], } -set-properties, cf::caps="audio/x-raw" +set-properties, + cf::caps="audio/x-raw" wait, message-type=error diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-devtools-1.28.6/validate/tests/launcher_tests/run_command_with_envvars.validatetest new/gst-devtools-1.28.7/validate/tests/launcher_tests/run_command_with_envvars.validatetest --- old/gst-devtools-1.28.6/validate/tests/launcher_tests/run_command_with_envvars.validatetest 2026-08-05 13:59:39.000000000 +0200 +++ new/gst-devtools-1.28.7/validate/tests/launcher_tests/run_command_with_envvars.validatetest 2026-09-07 21:11:13.000000000 +0200 @@ -1,5 +1,5 @@ meta, - args = { + args={ "videotestsrc ! fakesink sync=true", }, handles-states=true, @@ -9,9 +9,6 @@ argv={ python3, -c, "import os; assert os.environ['ENVVAR_CHECK'] == 'set'", }, - env=[ - vars, - ENVVAR_CHECK="set", - ] + env=[vars, ENVVAR_CHECK="set"] stop diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-devtools-1.28.6/validate/tests/launcher_tests/simple_interlaced_action.validatetest new/gst-devtools-1.28.7/validate/tests/launcher_tests/simple_interlaced_action.validatetest --- old/gst-devtools-1.28.6/validate/tests/launcher_tests/simple_interlaced_action.validatetest 2026-08-05 13:59:39.000000000 +0200 +++ new/gst-devtools-1.28.7/validate/tests/launcher_tests/simple_interlaced_action.validatetest 2026-09-07 21:11:13.000000000 +0200 @@ -1,6 +1,6 @@ meta, handles-states=true, - args = { + args={ "appsrc name=src ! typefind ! fakesink", } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-devtools-1.28.6/validate/tests/launcher_tests/simple_repeat.validatetest new/gst-devtools-1.28.7/validate/tests/launcher_tests/simple_repeat.validatetest --- old/gst-devtools-1.28.6/validate/tests/launcher_tests/simple_repeat.validatetest 2026-08-05 13:59:39.000000000 +0200 +++ new/gst-devtools-1.28.7/validate/tests/launcher_tests/simple_repeat.validatetest 2026-09-07 21:11:13.000000000 +0200 @@ -1,10 +1,10 @@ meta, handles-states=true, - args = { + args={ "videotestsrc pattern=ball animation-mode=frames num-buffers=30 ! video/x-raw,framerate=10/1 ! $(videosink) name=sink sync=true", }, - configs = { - "$(validateflow), pad=sink:sink, buffers-checksum=true", + configs={ + [validateflow, pad=sink:sink, buffers-checksum=true], } pause; @@ -12,4 +12,4 @@ priv_check-action-type-calls, type=seek, n=10 check-position, expected-position=1.0 priv_check-action-type-calls, type=check-position, n=1 -stop \ No newline at end of file +stop ++++++ gst-devtools.obsinfo ++++++ --- /var/tmp/diff_new_pack.NU3UEr/_old 2026-09-11 18:04:52.447719504 +0200 +++ /var/tmp/diff_new_pack.NU3UEr/_new 2026-09-11 18:04:52.449719588 +0200 @@ -1,5 +1,5 @@ name: gst-devtools -version: 1.28.6 -mtime: 1785931179 -commit: 2d3e05cbdad68e47d645f548899b432dc9fb4473 +version: 1.28.7 +mtime: 1788808273 +commit: 070125524a8422e29d3b69a372ed4f62fd343ffa
