Sebastian Dröge
d50c842d87
video: Fix ordering of video formats in GST_VIDEO_FORMATS_ALL_STR
...
This now follows the algorithm again that is described in the
documentation and implemented in gstreamer-rs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5243 >
2023-08-25 15:27:02 +00:00
Piotr Brzeziński
2cc30770cf
tools: Disable fault signal handlers in gst-launch/gst-validate on macOS
...
By default, macOS attempts to run lldb against a misbehaving process to handle the crash. This does not play well
with the SISEGV/SIGQUIT handler we add in gst-launch/gst-validate. The 'spinning' mechanism causes the lldb
and debugserver processes ran by macOS to misbehave, taking 100% CPU and rendering both themselves and the GStreamer
instance frozen and very hard to effectively kill. macOS's Activity Monitor is also unusable while this is happening.
This patch takes the quickest possible solution of just disabling those signal handlers entirely on macOS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5190 >
2023-08-16 08:52:36 +00:00
Alicia Boya García
ba61160d6c
validate-launcher: Fix race condition on repeated tests
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2900
The `reports` list was being copied as a reference, therefore, copies of
a test ended up inadvertedly sharing the same list of reports. Reports
added by one instance of the test would be reflected in all instances.
This caused a race condition where, if a test was run on repeat with
gst-validate-launcher -f, very often wrong log file was shown to the
user. For instance, gst-validate-launcher would say "test failed, see
log for iteration7", but iteration7 would contain "TEST PASSED".
Worse, the runner would add the report to that incorrect log file,
mixing problems between different executions of the tests.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5177 >
2023-08-13 03:18:50 +00:00
Nirbheek Chauhan
8e1b6accbd
meson: Always use forward slashes in defines with paths
...
Fixes the following build failure on MSYS2:
```
../subprojects/gstreamer/tests/check/elements/filesrc.c: In function 'test_seeking':
../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: error: incomplete universal character name \U
107 | g_object_set (G_OBJECT (src), "location", TESTFILE, NULL);
| ^
../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\A'
../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\g'
../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\s'
../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\g'
../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\c'
```
Due to: `-DTESTFILE=\"C:\\Users\\Administrator\[...]`
https://gitlab.freedesktop.org/nirbheek/gstreamer/-/jobs/45317733
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5018 >
2023-07-12 21:17:25 +00:00
Stéphane Cerveau
3973b56e26
validate: disable plugins in static build
...
As the plugins can not be used in gstreamer-full,
disable the plugins.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4128 >
2023-05-31 15:17:11 +00:00
Stéphane Cerveau
dd17beb681
gstreamer-full: add full static support
...
Allow a project to use gstreamer-full as a static library
and link to create a binary without dependencies.
Introduce the option 'gst-full-target-type' to
select the build type, dynamic(default) or static.
In gstreamer-full/static build configuration gstreamer (gst.c)
needs the symbol gst_init_static_plugins which is defined
in gstreamer-full.
All the tests and examples are linking with gstreamer but the
symbol gst_init_static_plugins is only defined in the gstreamer-full
library. gstreamer-full can not be built first as it needs to know what plugins
will be built.
One option would be to build all the examples and tests after
gstreamer-full as the tools.
Disable tools build in subprojects too as it will be built at the end of
build process.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4128 >
2023-05-31 15:17:11 +00:00
Thibault Saunier
9dda8050f2
validate: Add a way to avoid checking property value after setting it
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4485 >
2023-04-26 00:03:06 +00:00
Thibault Saunier
b14e675a27
gir: Checkout all .gir files and check that they are updated on the CI
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3010 >
2023-04-22 09:32:32 -04:00
Thibault Saunier
6646184791
validate: flow: Handle ignored fields for caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4341 >
2023-04-12 15:07:28 +00:00
Thibault Saunier
00ed40dbfd
validate: scenario: Add a vmethod to free GstValidateActionParameter-s
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4265 >
2023-03-27 01:25:43 +00:00
Tim-Philipp Müller
4380d12d78
gst-devtools: re-indent with GNU indent 2.2.12
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4182 >
2023-03-17 03:18:54 +00:00
Xavier Claessens
096bd3c4a2
gstbuffer: Add parent meta when a copy shares memory with parent
...
When copying a buffer, for example with gst_buffer_make_writable(), the
new buffer might reference the same GstMemory as the src buffer,
making those memories not writable. If the src buffer gets disposed
first it should return to its buffer pool, but since some of its
memories are not writable it gets discarded and new buffer/memory gets
allocated.
Solves this by making the new buffer keep a reference to the src buffer,
that ensures that by the time the src buffer gets disposed no other
buffer are referencing its memories and it can thus return safely to its
pool.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4176 >
2023-03-16 00:03:11 +00:00
Thibault Saunier
734263617b
validate: scenario: Allow scenario to define the pipeline state target
...
Some user might want to start executing actions from the start.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4164 >
2023-03-14 05:46:14 +00:00
Thibault Saunier
accbcabeea
validate: Protect init function with a recursive mutex
...
In tests in the rust bindings we end up with 2 thread initializing
concurrently, and it should not be a problem, -validate should be MT
safe.
Using a recursive mutex as we might recursively init for some reason
and we are not on the hot path here in any case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4089 >
2023-03-02 02:50:45 +00:00
Thibault Saunier
12c4893131
validate:scenario: sink refs when building
...
Scenarios are no owned by anyone, even if they are GstObjects
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4089 >
2023-03-02 02:50:45 +00:00
Thibault Saunier
2837f14b6b
tests: Move srtp test known issue def to the 'check' testuite
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3979 >
2023-02-16 02:39:05 +00:00
Thibault Saunier
1146548c3d
validate:launcher: try to bne more explicit about where to add known failure
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3979 >
2023-02-16 02:39:04 +00:00
Thibault Saunier
c637d90be9
validate:launcher: Handle known return code issue in none validate based tests
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3979 >
2023-02-16 02:39:04 +00:00
Tim-Philipp Müller
7679011d1d
validate: drop use of GSlice allocator
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3784 >
2023-02-03 17:48:10 +00:00
Colin Kinloch
25b4e84fe5
validate: Allow Ctrl-C to quit on fault
...
Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3868 >
2023-02-01 21:40:01 +00:00
Tim-Philipp Müller
9a300fc501
validate-scenario: fix g-i warning in annotation
...
gst-validate-scenario.c:2485: Warning: GstValidate: missing ":" at column 28:
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3841 >
2023-01-28 20:03:05 +00:00
Thibault Saunier
fa23e24f41
validate: Fix gst_validate_execute_action annotation
...
The action passed in is transfer full
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3829 >
2023-01-28 01:31:14 +00:00
Jan Schmidt
794ffe6ec6
validate: Place regex flags at the start of the regex
...
In Python 3.11 it is an error to have regex flags in the middle
of an expression, so make sure they appear at the start.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1630
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3643 >
2022-12-28 10:04:41 +00:00
Tim-Philipp Müller
6c621bba02
validate-launcher: update testsuites checks for fixed bug
...
Should make CI functional again.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3646 >
2022-12-27 17:14:06 +01:00
Xavier Claessens
cd78cbac86
Fix API visibility macros
...
This copies the logic from GLib discussed there:
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2936
Beside being simpler, it also fix all public symbols being annotated
with dllexport when doing a static build, as discovered there:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3540#note_1678335
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3567 >
2022-12-20 14:03:35 +00:00
Stéphane Cerveau
1ba066bda2
validate: cleanup the use of GST_VALIDATE_API on Windows
...
Export or import properly the method from GST_VALIDATE_API
with a proper config.h
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3429 >
2022-11-18 02:17:27 +00:00
Edward Hervey
0c59e3ce2a
validate-scenario: Avoid timeouts on EOS
...
If there is an EOS and the next action is waiting for a playback time, execute
it since we are guaranteed the position won't change anymore.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3403 >
2022-11-15 07:47:49 +01:00
Edward Hervey
e821b65a64
validate-scenario: Don't leak GFile
...
And use specific variables for clarity in loops.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-13 06:59:11 +01:00
Edward Hervey
3f95779c30
validate: Don't leak discoverer information
...
The various streaminfo were being overwritten without being unreffed first
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-13 06:59:11 +01:00
Edward Hervey
f8f3615585
validate: Don't deinit too early
...
If we are going to use the validate functions ... do that *before*
deinit'ing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-12 12:24:21 +01:00
Edward Hervey
73762156f3
gst-validate-1.0: Don't leak arguments and context
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:22 +00:00
Edward Hervey
3beec9bad3
validate-scenario: Don't leak temporary path value
...
It's only use in the structure iterator
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:22 +00:00
Edward Hervey
2114490b9b
validate-scenario: Don't leak temporary local variables structures
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Edward Hervey
094d27585e
validate: plug some leaks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Sebastian Dröge
3827f94574
validate: Add/fix various annotations
...
And fix monitor constructors to correctly check for valid arguments.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194 >
2022-10-18 08:56:58 +00:00
Thibault Saunier
55dd7ff4b4
validate: Plug some leaks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3059 >
2022-10-11 11:48:09 -03:00
Thibault Saunier
9abceda343
validate:launcher: Cleanup test uuid when copying it
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3122 >
2022-10-05 20:29:22 +00:00
Thibault Saunier
f3c162cc85
validate: launcher: Add a argument to avoid rereuning flaky tests
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3122 >
2022-10-05 20:29:22 +00:00
Thibault Saunier
1577911d75
validate: launcher: Keep variable framerate from input when possible
...
But disable it if forcing a framerate for some reason
Fixing our support for variable framerate in the encoding profile
serialization format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3122 >
2022-10-05 20:29:22 +00:00
Thibault Saunier
fbddaffc62
validate: launcher: Fix some pep8 issues
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3122 >
2022-10-05 20:29:22 +00:00
Thibault Saunier
f9e6044124
validate: Handle testfiles that need an HTTP server
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3122 >
2022-10-05 20:29:22 +00:00
Thibault Saunier
a642b17c97
validate:ssim: Show original/nok/diff images on error images
...
This way the user can easily see how off the image is very easily
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3122 >
2022-10-05 20:29:22 +00:00
Thibault Saunier
ab64771ba8
validate:scenario: Fix setting iterating variable from arrays
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3122 >
2022-10-05 20:29:22 +00:00
Thibault Saunier
7c26630651
validate:scenario: Make appsrc-push push a sample
...
Allowing setting a segment to the sample
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3052 >
2022-09-20 17:14:36 +00:00
Thibault Saunier
e290e7913c
validate: Handle buffer pts/dts/duration in the appsrc-push action
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3052 >
2022-09-20 17:14:36 +00:00
Thibault Saunier
d2b4e7a38e
validate:scenario: Simplify the way we override appsrc src pad chain
...
When pushing several buffers while the pipeline is in NULL state, meaning
that the action are executed "interlaced", previous code was deadlocking.
This new implementation makes it so the override is always on and we
expect all buffers to go through to be associated to a function, which
is a safe assumption.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3052 >
2022-09-20 17:14:36 +00:00
Thibault Saunier
515e1b55ee
validate:scenario: Fix a leak when done waiting for an ASYNC action
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3000 >
2022-09-20 13:23:02 +00:00
Xavier Claessens
5f0493d33a
meson: Set install_tag on some targets
...
Trying to follow recommendation from Meson documentation:
https://mesonbuild.com/Installing.html#installation-tags
Move tools into 'bin' or 'bin-devel' categories to keep only libs and
plugins in the default 'runtime' category. This simplifies distribution
of GStreamer application skipping parts that are not needed, similarly
to what Cerbero does by hardcoding huge list of files.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3017 >
2022-09-20 10:08:15 +00:00
Thibault Saunier
ec291ce6bb
validate: Update action types documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3040 >
2022-09-17 01:25:39 +00:00
Thibault Saunier
04f036edc4
validate:scenario: Some minor fixes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3007 >
2022-09-09 15:25:45 +00:00