=== release 1.28.1 === 2026-02-26 01:44:06 +0000 Tim-Philipp Müller * gst-devtools.doap: * meson.build: Release 1.28.1 2026-02-22 13:28:57 +0200 Sebastian Dröge * dots-viewer/Cargo.lock: devtools: dots-viewer: Update Rust dependencies Part-of: 2023-04-02 16:53:45 +0100 Tim-Philipp Müller * meson.build: * scripts/dist-common-files.py: modules: dist common files from monorepo root Less noise when making releases, and just need to maintain one copy. Part-of: 2026-02-15 17:20:59 +0000 Tim-Philipp Müller * RELEASE: modules: remove RELEASE from git, will be generated from template on dist Part-of: 2026-02-15 15:02:07 +0000 Tim-Philipp Müller * NEWS: modules: Remove NEWS from git which is generated from full release notes Part-of: 2026-01-27 17:10:54 +0000 Tim-Philipp Müller * meson.build: Back to development after 1.28.0 === release 1.28.0 === 2026-01-27 17:02:33 +0000 Tim-Philipp Müller * NEWS: * RELEASE: * gst-devtools.doap: * meson.build: Release 1.28.0 2025-12-01 19:19:18 +0100 Alicia Boya García * validate/launcher/utils.py: validate: Produce file:/// URIs in Python 3.14 Since Python 3.14, calls to `urljoin()` with "file:" as base URI result in no authority part: https://github.com/python/cpython/issues/125974 file URIs without an authority part are technically valid according to RFC 8089 but are generally less compatible. The URI handler of filesrc was not capable of handling them, for instance, for which a fix is now proposed in MR 10259 [^1]. This patch changes validate usage of urljoin() to use "file://" as base URI instead of "file:", which produces the more compatible three slash file URIs in all versions of Python. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4757 Part-of: 2026-01-05 20:20:51 +0000 Tim-Philipp Müller * meson.build: Back to development after 1.27.90 === release 1.27.90 === 2026-01-05 20:15:10 +0000 Tim-Philipp Müller * NEWS: * RELEASE: * gst-devtools.doap: * meson.build: Release 1.27.90 2025-12-22 16:23:10 +0200 Sebastian Dröge * validate/gst/validate/validate.c: * validate/tests/check/validate/utilities.c: gst: Remove various wrongly added includes These were most likely added by clangd automatically. Please use `-header-insertion=never` with clangd! Part-of: 2025-12-18 14:12:35 +0100 Alicia Boya García * validate/launcher/main.py: gst-validate-launcher: Fix typo in --help s/sdterr/stderr Part-of: 2025-12-16 11:09:47 +0200 Sebastian Dröge * dots-viewer/Cargo.lock: devtools: dots-viewer: Update Rust dependencies Part-of: 2025-11-30 23:12:03 -0500 Daniel Morin * modelinfo-helper/README.md: * modelinfo-helper/modelinfo-generator.py: devtool: New script to generate ModelInfo from ONNX - Script will prompt user for information required not analytics from ONNX file Part-of: 2025-12-05 15:19:34 -0300 Thibault Saunier * dots-viewer/meson.build: dots-viewer: add build directory to devenv PATH Part-of: 2025-12-09 19:13:20 +0000 Tim-Philipp Müller * meson.build: Back to development after 1.27.50 === release 1.27.50 === 2025-12-09 19:08:48 +0000 Tim-Philipp Müller * NEWS: * RELEASE: * gst-devtools.doap: * meson.build: Release 1.27.50 2025-12-02 11:54:45 -0300 Thibault Saunier * dots-viewer/static/js/gstdots.js: dots-viewer: debounce SVG rendering during initial load Pipelines are inserted at the top of the list as they arrive, making each one briefly visible and triggering SVG generation. Debounce the IntersectionObserver activation until WebSocket traffic settles. Part-of: 2025-11-21 08:38:15 -0300 Thibault Saunier * validate/gst/validate/gst-validate-report.h: validate: remove unimplemented gst_validate_report_add_message API This function was declared but never implemented. Removing it to clean up the API surface. Part-of: 2025-11-07 12:14:43 +0000 Philippe Normand * debug-viewer/GstDebugViewer/Data.py: debug-viewer: Make the 0x prefix optional in thread ID regexes It was removed for Linux platforms (at least) in https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9913 Driving-by, fixing a couple SyntaxWarnings by making more regex strings raw. Part-of: 2025-05-21 16:14:26 +0200 Thibault Saunier * validate/gst-libs/gst/video/gstvalidatessim.c: validate: ssim: Minor output enhancements Part-of: 2025-05-28 13:37:37 +0200 Thibault Saunier * validate/gst-libs/gst/video/gstvalidatessim.c: * validate/plugins/ssim/gstvalidatessim.c: Validate: ssim: Check all images before reporting errors Previously, the ssim validation would stop after the first error. This commit modifies the validation to check all images and report all errors. Part-of: 2025-11-06 11:59:19 +0100 Stéphane Cerveau * validate/launcher/testsuites/check.py: ci: force Vulkan llvmpipe driver for tests Vulkan unit tests should be run exclusively with llvmpipe driver. This patch replaces the MESA specific environment variable, to select the llvmpipe, with the Vulkan general environment variable to force the llvmpipe IDC (installable driver client). With it the instance will load only that driver, instead of only selecting it after loading all the available drivers. Also, this patch removed, from CI blacklist, the Vulkan tests, so now all of them are ran by the CI. Fixes #4612 Part-of: 2025-11-01 12:50:46 +0200 Sebastian Dröge * dots-viewer/Cargo.lock: * dots-viewer/Cargo.toml: dots-viewer: Update static-files dependency Part-of: 2025-11-01 12:50:46 +0200 Sebastian Dröge * dots-viewer/Cargo.lock: * dots-viewer/Cargo.toml: dots-viewer: Update Rust dependencies Part-of: 2025-06-13 15:29:03 -0400 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: validate: Make segment.time mismatch a warning for reverse playback Demux elements may have issues calculating accurate segment.time values during reverse playback seeks. For forward playback, segment.time should exactly match the seek position for accurate seeks, but reverse playback has additional complexity that can cause small discrepancies. Change the validation from critical to warning for reverse playback to avoid test failures while still flagging the issue for potential fixes. Part-of: 2025-08-22 09:40:53 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Fix inverted logic in remove-feature action The condition for checking whether we're removing a feature was inverted, causing the remove-feature action to require a rank parameter (which it shouldn't) and the set-rank action to not require one (which it should). Also ensure the plugin is loaded before removing the feature to prevent the feature from being re-added when the plugin is loaded again later. Part-of: 2025-08-08 10:58:13 -0400 Thibault Saunier * docs/gst-validate-test-file.md: * validate/gst/validate/validate.c: validate: Add a `tested-elements` metadata to force their class_init to be called This allows implementing element specific action types. Part-of: 2024-09-09 11:40:41 -0300 Thibault Saunier * validate/gst/validate/gst-validate-utils.c: validate: utils: Retrieve global variables in _resolve_expression There is not good reason for now getting variables from the globals variables by default Part-of: 2025-06-14 09:55:59 -0400 Thibault Saunier * validate/gst/validate/gst-validate-report.c: validate-report: Include issue ID when printing report level Add the issue ID (as a string) to the report level output to make it easier to identify specific issues when debugging validation failures. This helps correlate reports with their corresponding issue definitions. Part-of: 2024-12-09 16:54:08 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: Minor typo fix Part-of: 2025-10-18 19:37:00 -0300 Thibault Saunier * validate/gst/validate/gst-validate-report.h: validate: add missing GST_VALIDATE_API annotation The gst_validate_report_add_message function was missing the GST_VALIDATE_API macro needed for proper symbol visibility in the public API. Part-of: 2025-10-14 13:58:33 -0300 Thibault Saunier * validate/launcher/apps/gstcheck.py: validate: use meson compile instead of ninja directly This is more portable and automatically activates the Visual Studio environment on Windows when required. Part-of: 2025-10-13 00:26:44 -0400 Doug Nazar * validate/gst/validate/gst-validate-scenario.c: validate: Fix crash during scenario cleanup The scenario can be finalized while still receiving callbacks from elements being removed from the pipeline since there is no reference being held. Callback then crashes iterating sinks since they've already been freed. Add a weak reference to the scenario for the callbacks. Part-of: 2025-10-05 14:56:35 -0400 Xavier Claessens * validate/launcher/meson.build: * validate/plugins/meson.build: meson: Add missing devenv values Those are the differences spotted between: - meson devenv -C builddir --dump meson.env - ./gst-env.py --only-environment > gst.env Part-of: 2025-10-04 15:18:53 -0400 Doug Nazar * validate/gst/validate/gst-validate-override.h: * validate/gst/validate/gst-validate-runner.h: * validate/gst/validate/media-descriptor-parser.h: * validate/gst/validate/media-descriptor-writer.h: devtools: Add G_GNUC_WARN_UNUSED_RESULT to constructors Part-of: 2025-10-05 14:59:48 -0400 Doug Nazar * validate/gst/validate/gst-validate-scenario.c: gst: mark items that are unused when checks or asserts are disabled Part-of: 2025-10-02 22:59:49 +0200 Michiel Westerbeek * dots-viewer/static/css/graphviz.svg.css: dots-viewer: sans-serif, tabular-nums Part-of: 2025-10-02 22:55:02 +0200 Michiel Westerbeek * dots-viewer/static/overlay.html: dots-viewer: prevent title cut-off Part-of: 2025-10-02 22:50:28 +0200 Michiel Westerbeek * dots-viewer/README.md: dots-viewer: update readme Part-of: 2025-10-02 22:50:20 +0200 Michiel Westerbeek * dots-viewer/static/js/jquery.graphviz.svg.js: * dots-viewer/static/js/svg-overlay-manager.js: * dots-viewer/static/overlay.html: dots-viewer: focus clusters on double click Part-of: 2025-10-02 22:49:59 +0200 Michiel Westerbeek * dots-viewer/static/js/gstdots.js: * dots-viewer/static/js/jquery.graphviz.svg.js: * dots-viewer/static/js/svg-overlay-manager.js: dots-viewer: fixed w/s zooming on load Part-of: 2025-10-02 22:49:30 +0200 Michiel Westerbeek * dots-viewer/static/css/graphviz.svg.css: * dots-viewer/static/index.html: dots-viewer: improve css, prevent horizontal navigation and show that nodes/clusters are clickable Part-of: 2025-10-02 22:49:03 +0200 Michiel Westerbeek * dots-viewer/package.json: * dots-viewer/webpack.config.js: dots-viewer: fixed webpack config issue, define-env is not needed anymore Part-of: 2025-09-25 08:40:36 -0400 Doug Nazar * validate/gst/validate/gst-validate-bin-monitor.h: * validate/gst/validate/gst-validate-element-monitor.h: * validate/gst/validate/gst-validate-media-info.h: * validate/gst/validate/gst-validate-monitor.h: * validate/gst/validate/gst-validate-override-registry.h: * validate/gst/validate/gst-validate-pad-monitor.h: * validate/gst/validate/gst-validate-pipeline-monitor.h: * validate/gst/validate/gst-validate-report.h: * validate/gst/validate/gst-validate-reporter.h: * validate/gst/validate/gst-validate-runner.h: * validate/gst/validate/gst-validate-scenario.h: * validate/gst/validate/media-descriptor-parser.h: * validate/gst/validate/media-descriptor-writer.h: devtools: Add G_GNUC_WARN_UNUSED_RESULT to funcs with transfer full returns Part-of: 2025-09-27 16:31:22 +0100 Tim-Philipp Müller * validate/launcher/apps/gstvalidate.py: validate: update links for gitlab issues moved from gst-plugins-bad to monorepo Part-of: 2025-09-27 16:19:36 +0100 Tim-Philipp Müller * validate/launcher/apps/gstvalidate.py: validate: update links for gitlab issues moved from gst-plugins-base to monorepo Part-of: 2025-09-27 16:06:10 +0100 Tim-Philipp Müller * validate/launcher/apps/gstvalidate.py: validate: update links for gitlab issues moved from gst-plugins-good to monorepo Part-of: 2025-09-08 17:50:32 -0400 Doug Nazar * validate/gst/validate/gst-validate-pad-monitor.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/media-descriptor-writer.c: gst: Don't use g_assert() around production code If G_DISABLE_ASSERT is defined the code will not be compiled. Part-of: 2025-09-08 17:47:48 -0400 Doug Nazar * validate/gst/validate/gst-validate-pad-monitor.c: validate: Check return from gst_pad_iterate_internal_links() If G_DISABLE_CHECKS is defined, passing the NULL from gst_pad_iterate_internal_links() to gst_iterator_next() will cause a SIGSEGV. Part-of: 2025-08-20 17:05:59 +0200 Vivienne Watermeier * validate/launcher/apps/gstcheck.py: devtools: look for glib.supp file in XDG_DATA_DIRS Hardcoding the path as "/usr/share/glib-2.0/valgrind/glib.supp" causes gst-validate-launcher --valgrind to fail on every test on systems where that path doesn't exist, such as NixOS. Part-of: 2025-09-07 20:39:44 +0100 Tim-Philipp Müller * meson.build: Back to development after 1.27.2 === release 1.27.2 === 2025-09-07 20:34:55 +0100 Tim-Philipp Müller * NEWS: * RELEASE: * gst-devtools.doap: * meson.build: Release 1.27.2 2025-09-06 11:08:47 +0300 Sebastian Dröge * validate/gst/validate/media-descriptor-writer.c: * validate/tools/gst-validate.c: gst: Change usage of gst_element_state_*() to gst_state_*() Part-of: 2025-09-04 13:35:50 -0400 Doug Nazar * validate/gst/validate/gst-validate-scenario.c: validate: fix leak of sink during check-last-sample Part-of: 2025-09-01 21:02:22 +0530 Nirbheek Chauhan * meson.build: * validate/gst-libs/gst/video/meson.build: meson: Convert all remaining fallback: usages to [provide] Only commonly-used plugin deps like pango, orc, openh264, libvpx, libnice are enabled by default. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1788 Part-of: 2025-07-08 10:08:42 -0400 Doug Nazar * validate/gst/validate/gst-validate-scenario.c: validate: Clarify list ref handling in gst_validate_action_set_done Part-of: 2025-06-11 01:43:55 -0400 Doug Nazar * validate/gst/validate/gst-validate-scenario.c: validate: fix memory leak Part-of: 2025-07-11 18:04:04 +0200 Stéphane Cerveau * validate/launcher/testsuites/check.py: ci: enable vulkan tests in validate As CI now supports llvm 18 and mesa 24.1 which allow to use properly lavapipe in the CI, the vulkan ci tests have been removed from the validate blacklist. Part-of: 2025-06-14 09:47:20 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: scenario: Clear wait_message_action on stop When executing a stop action, ensure that any pending wait_message_action is cleared and unreffed to prevent it from being executed after the scenario has been stopped. This prevents potential crashes or unexpected behavior when stopping a scenario that has a pending wait action. Part-of: 2025-06-17 09:00:07 -0400 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: scenario: Fix NULL context usage in action done callback Use the local context variable that was retrieved earlier instead of action->priv->context which is always NULL at this point since we reset it right before. This ensures we invoke the callback on the correct context. And make sure that the wait message still has a reference when setting done otherwise it is unref before calling the context invoke function Part-of: 2025-06-14 09:39:03 -0400 Thibault Saunier * validate/gst/validate/doc/meta-overrides.md: * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-override-registry.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/validate.c: * validate/gst/validate/validate.res: * validate/tests/launcher_tests/overrides.validatetest: validate: Add support for overrides field in meta structure Add support for an 'overrides' field in validatetest meta structures that allows changing issue severity levels during test execution. This enables tests to pass when encountering known issues by downgrading their severity. The overrides field accepts an array of change-severity structures with: - issue-id: The issue ID to override - new-severity: New severity level (critical, warning, issue, ignore) Currently only change-severity overrides are supported. The feature follows the same pattern as expected-issues and is only available in .validatetest files, not .scenario files. Includes comprehensive documentation and a test case demonstrating the functionality. Part-of: 2025-08-10 11:00:18 -0400 Thibault Saunier * dots-viewer/static/js/jquery.graphviz.svg.js: dots-viewer: Reindent and remove unused code in jquery.graphviz.svg.js Part-of: 2025-08-10 10:55:47 -0400 Thibault Saunier * dots-viewer/static/js/pipeline-navigation.js: * dots-viewer/static/js/svg-overlay-manager.js: * dots-viewer/static/js/text-ellipsizer.js: * dots-viewer/static/js/tooltip.js: * dots-viewer/static/overlay.html: dots-viewer: Refactor JavaScript into modular architecture Split monolithic embedded JavaScript in overlay.html into dedicated modules: - tooltip.js: Custom tooltip functionality with interactive copy/paste mode - pipeline-navigation.js: Clickable pipeline-dot references for navigation - text-ellipsizer.js: Text ellipsizing with tooltip integration - svg-overlay-manager.js: Main coordinator orchestrating all functionality Part-of: 2025-08-05 11:38:05 -0400 Thibault Saunier * dots-viewer/static/overlay.html: dots-viewer: make pipeline dot references clickable for navigation When GStreamer pipeline graphs contain references to other pipeline dot files, users should be able to navigate between related pipeline views by clicking on these references. This enables exploring complex pipeline hierarchies where one pipeline references sub-pipelines. The implementation detects text elements containing pipeline-dot references, styles them as web links, and handles click events to navigate to the referenced pipeline while preserving existing text selection and drag functionality for other elements. Part-of: 2025-08-05 11:15:50 -0400 Thibault Saunier * dots-viewer/static/css/graphviz.svg.css: * dots-viewer/static/overlay.html: dots-viewer: Make text copyable while preserving drag functionality Enable text selection on SVG text elements by changing CSS user-select properties from 'none' to 'text' and cursor from 'default' to 'text'. Add JavaScript event handling to intercept mousedown events on text elements, preventing dragscroll interference while allowing normal text selection. This preserves the existing drag-to-pan functionality for non-text areas while making text elements selectable and copyable. Part-of: 2025-08-18 17:28:37 -0400 Thibault Saunier * validate/gst/validate/gst-validate-http-actions.c: validate: http-actions: Replace GUri with GstURI for GLib 2.64 compatibility GUri was added in GLib 2.66, but GStreamer claims to build with 2.64. Replace GUri usage with equivalent GstURI functions to maintain backward compatibility. Fixes #4607 Part-of: 2025-07-15 17:14:04 +0300 Sebastian Dröge * dots-viewer/Cargo.lock: * dots-viewer/Cargo.toml: dots-viewer: Update Rust dependencies Part-of: 2025-07-08 20:00:07 +0100 Tim-Philipp Müller * meson.build: Back to development after 1.27.1 === release 1.27.1 === 2025-07-08 19:55:15 +0100 Tim-Philipp Müller * NEWS: * RELEASE: * gst-devtools.doap: * meson.build: Release 1.27.1 2025-06-17 06:32:16 -0400 Doug Nazar * validate/gst/validate/gst-validate-scenario.c: validate: Ignore error msgs when executing next action When processing an expected error msg, the test for if the next action was a message would trigger and we'd never execute the next action causing a timeout. Part-of: 2025-06-17 06:29:46 -0400 Doug Nazar * validate/gst/validate/gst-validate-scenario.c: validate: Fix memory leaks Part-of: 2025-05-30 15:25:52 -0400 Doug Nazar * validate/gst/validate/gst-validate-pad-monitor.c: validate: Pass correct argument size to va_arg function sizeof(int) != sizeof (GType) and can cause an invalid access. Also one function call was missing the terminator altogether. Part-of: 2025-05-30 15:29:23 -0400 Doug Nazar * validate/gst/validate/gst-validate-scenario.c: validate: Fix a memory leak Part-of: 2025-05-30 15:30:10 -0400 Doug Nazar * validate/gst/validate/validate.c: validate: Reset mutex to NUL to allow re-init Part-of: 2025-05-28 08:53:21 -0400 Doug Nazar * validate/tests/check/validate/expression_parser.c: * validate/tests/check/validate/monitoring.c: * validate/tests/check/validate/overrides.c: * validate/tests/check/validate/padmonitor.c: * validate/tests/check/validate/reporting.c: * validate/tests/check/validate/scenario.c: * validate/tests/check/validate/utilities.c: validate: tests: use fixtures to init/deinit and fix leaks Part-of: 2025-05-28 09:08:05 -0400 Doug Nazar * validate/gst/validate/flow/gstvalidateflow.c: * validate/gst/validate/gst-validate-internal.h: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/validate.c: validate: cleanup several items on shutdown Part-of: 2025-05-28 09:01:08 -0400 Doug Nazar * validate/gst/validate/flow/formatting.c: * validate/gst/validate/gst-validate-report.c: * validate/gst/validate/gst-validate-scenario.c: * validate/plugins/ssim/gstvalidatessim.c: * validate/tools/gst-validate-transcoding.c: validate: Fix various memory leaks Part-of: 2025-05-28 09:04:21 -0400 Doug Nazar * validate/gst/validate/gst-validate-scenario.c: validate: ensure we shutdown execute_actions source Actions are no longer always called directly from the main loop so we can't depend on G_SOURCE_REMOVE to remove it. It's also possible while returning up the call chain after running stop to try to re-add it. Part-of: 2025-06-12 13:56:48 +0200 Arnout Engelen * dots-viewer/Cargo.lock: * dots-viewer/Cargo.toml: devtools: dots-viewer: sort static files The fact that static-files followed the (nondeterministic) file system order is likely what caused the dots-viewer executable not to be binary reproducible. Enabling this feature that was added upstream should fix it. Part-of: 2025-06-10 14:41:22 +0200 Víctor Manuel Jáquez Leal * scripts/gen-changelog.py: * validate/launcher/testsuites/check.py: gstreamer-vaapi: remove subproject It's almost superseded by va plugin in gst-plugins-bad. Part-of: 2025-06-03 10:27:06 +0200 Thibault Saunier * validate/launcher/baseclasses.py: validate: launcher: Downgrade non-critical log messages from ERROR to INFO Part-of: 2024-09-24 09:48:54 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate: launcher: Remove log files for passing tests by default Adding an option to keep them no matter what. Log files are often pretty large and keeping them around can be annoying, usually people won't look at logs files for passing tests, and we do not even print them out. Part-of: 2025-04-11 13:24:02 -0400 Thibault Saunier * validate/launcher/baseclasses.py: validate: launcher: Allow using debug log colors when those are being redirected Part-of: 2025-05-28 11:20:16 +0200 Thibault Saunier * validate/gst/validate/gst-validate-pad-monitor.c: validate: Do not check that timestamp are in input range for encoders As some encoder offset the segment range to handle bframes, that check doesn't make sense. Part-of: 2025-05-16 13:32:08 +0200 Thibault Saunier * validate/gst/validate/gst-validate-reporter.h: general: Stop checking `G_HAVE_GNUC_VARARGS` now that we depend on c99 Cleaning up a bit the code now that we can rely on C99 which specifies varargs for macros. Part-of: 2025-05-21 09:42:17 -0400 Doug Nazar * validate/launcher/baseclasses.py: validate: Escape '%' in Valgrind log filenames Part-of: 2025-05-21 09:41:14 -0400 Doug Nazar * validate/gst/validate/gst-validate-scenario.c: validate: Fix marking actions done Don't take extra ref during calling done() from 'stream-selection' Mark as done actions that are completed immediately Part-of: 2025-05-21 09:37:30 -0400 Doug Nazar * validate/gst/validate/gst-validate-report.c: validate: Free log files Part-of: 2025-05-21 09:36:22 -0400 Doug Nazar * validate/gst/validate/gst-validate-mockdecryptor.c: * validate/gst/validate/gst-validate-pipeline-monitor.c: * validate/gst/validate/gst-validate-reporter.c: * validate/gst/validate/gst-validate-scenario.c: * validate/gst/validate/validate.c: * validate/plugins/ssim/gstvalidatessim.c: * validate/tests/check/validate/monitoring.c: * validate/tests/check/validate/padmonitor.c: * validate/tests/check/validate/reporting.c: * validate/tests/check/validate/scenario.c: validate: Various minor cleanups for lost memory or use after free Includes several missing unref(), clear() or free() calls. Reset current_seek since we just cleared all the seeks. Reset all_configs to NULL to prevent double clearing. Part-of: 2025-03-31 11:10:12 -0300 Thibault Saunier * validate/gst/validate/gst-validate-scenario.c: validate: scenario: Fix race condition when ignoring EOS The part of the code that is commented with: ``` /* gst_validate_action_set_done() does not finish the action * immediately. Instead, it posts a task to the main thread to do most * of the work in _action_set_done(). * * While the EOS handling lock guarantees that if an action had to call * gst_validate_action_set_done() it has done so, it does not guarantee * that _action_set_done() has been called. * * Is it possible that this handler is run before _action_set_done(), so * we check at this point for actions that have a pending_set_done and * call it before continuing. */ ``` was not being executed in the case where the scenario was 'ignoring EOS' while it was also required. Also fix potential use after free in that specific code path. Part-of: 2025-05-20 21:20:02 +0200 Thibault Saunier * validate/launcher/apps/gstvalidate.py: * validate/launcher/baseclasses.py: validate: Do not list test files that are not autogenerated in .testlist It was useless, adding the .validatetest to the git repo should be enough Part-of: 2025-05-17 20:23:56 -0400 Doug Nazar * validate/launcher/baseclasses.py: validate: baseclasses: Reset Test timeouts between iterations Several options (valgrind, gdb, rr) increase the timeout each time the tests start. Eventually reaching inf and causing a conversion to integer to throw an exception. Part-of: 2025-03-15 20:56:17 +0100 Tim-Philipp Müller * meson.options: meson: rename meson_options.txt to meson.options Which is supported since Meson 1.1: https://mesonbuild.com/Release-notes-for-1-1-0.html#support-for-reading-options-from-mesonoptions Part-of: 2025-04-01 18:24:10 +0530 Nirbheek Chauhan * dots-viewer/meson.build: devtools: Fix meson warning when calling add_languages() WARNING: add_languages is missing native:, assuming languages are wanted for both host and build. Part-of: 2025-04-26 19:28:56 +0200 Alexander Slobodeniuk * validate/gst/validate/gst-validate-mockdecryptor.c: elements: use set_static_metadata when it's allowed Those strings are nice but CPU doesn't want to copy them Part-of: 2025-04-01 09:01:41 -0300 Thibault Saunier * dots-viewer/.gitignore: * dots-viewer/bundle-entry.js: * dots-viewer/package-lock.json: * dots-viewer/package.json: * dots-viewer/static/dist/bundle.css: * dots-viewer/static/dist/bundle.js: * dots-viewer/static/dist/bundle.js.LICENSE.txt: * dots-viewer/static/js/fuse.min.mjs: * dots-viewer/static/js/gstdots.js: * dots-viewer/static/js/viz-standalone.mjs: * dots-viewer/static/overlay.html: * dots-viewer/update_vendored.sh: * dots-viewer/webpack.config.js: devtools: dots-viewer: Bundle js dependncies using webpack And avoid relying on cdn's and require access to the network to use `dots-viewer` And git ignore `node_modules` Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4334 Part-of: 2025-03-23 01:59:48 +0100 Jan Tojnar * validate/gst/validate/meson.build: validate: Add gst-video to Requires in pkg-config `gst/validate/validate.h` includes `gst/validate/gst-validate-media-info.h`, which in turn includes `gst/pbutils/pbutils.h` but `gstreamer-pbutils-1.0` was only listed in `Requires.private` field of `gstreamer-validate-1.0.pc`. This would cause projects linking against `gstreamer-validate-1.0.pc` to fail to find the headers when using alternative interpretation of pkg-config specification that only considers private dependencies for include path during static builds, such as the case e.g. on Nix. https://gitlab.freedesktop.org/pkg-config/pkg-config/-/issues/28 Part-of: 2025-03-26 09:56:03 -0300 Thibault Saunier * dots-viewer/static/js/gstdots.js: dotsviewer: Fix search Part-of: 2025-03-21 09:00:04 -0300 Thibault Saunier * dots-viewer/static/overlay.html: devtools: dots-viewer: Add a button to download the SVG file Part-of: 2025-03-13 16:54:22 -0300 Thibault Saunier * validate/launcher/baseclasses.py: validate: baseclasses: Reset Test.extra_logfiles when copying to start an iteration Otherwise we get a big mixup with all iteration pointing to all the extra_logfiles Part-of: 2025-03-12 19:16:03 +0200 Sebastian Dröge * dots-viewer/Cargo.lock: * dots-viewer/Cargo.toml: devtools: dots-viewer: Update dependencies and make windows dependencies conditional Part-of: 2025-03-12 13:59:45 +0100 Tim-Philipp Müller * RELEASE: * meson.build: Back to development in main branch after 1.26.0 Part-of: === release 1.26.0 ===