Xavier Claessens
d809406dfc
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/5696 >
2023-11-20 12:31:04 -05:00
Piotr Brzeziński
c2c2bc2ec2
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/5201 >
2023-08-18 14:40:24 +00:00
Thibault Saunier
e66d636fd1
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/4097 >
2023-03-02 10:57:45 +00:00
Thibault Saunier
85d363f4e2
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/4097 >
2023-03-02 10:57:45 +00:00
Tim-Philipp Müller
d9196b83aa
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/3842 >
2023-02-08 11:20:39 +00:00
Thibault Saunier
e583baf6b2
validate: Fix gst_validate_execute_action annotation
...
The action passed in is transfer full
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3838 >
2023-01-28 18:22:44 +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
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
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
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
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
Thibault Saunier
879ae5ba02
validate: Add a 'check-current-pad-caps' check action type
...
Allowing to check that a specific pad has some specific caps set
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3007 >
2022-09-09 15:25:45 +00:00
Thibault Saunier
15e76aa7d6
validate: Add a 'check' field to waits to allow running check actions after it get executed
...
Adding the notion of 'check' action types
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3007 >
2022-09-09 15:25:45 +00:00
Thibault Saunier
6a4425e46a
meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
...
Removing some copy pasted code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970 >
2022-09-01 21:17:35 +00:00
Thibault Saunier
bc9c1e3956
meson: Namespace the plugins_doc_dep/libraries variables
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970 >
2022-09-01 21:17:35 +00:00
Thibault Saunier
eca3e7c56f
validate: Fix gir generation
...
It broke in https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2555
where we stopped parsing some .c files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2965 >
2022-08-31 16:17:52 +00:00
Tim-Philipp Müller
9d9e59622f
Bump GLib requirement to >= 2.62
...
Can't require 2.64 yet because of
https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/323
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568 >
2022-06-10 06:01:41 +00:00
Thibault Saunier
a02f0ea392
validate: Fix running as a tracer
...
We need to rebuild runner.c as this is where the plugin is defined
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2555 >
2022-06-04 18:04:31 -04:00
Thibault Saunier
a3d00f3b98
validate:pipeline-monitor: Minor cleanup setting unused variable
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898 >
2022-04-20 17:09:26 -04:00
Thibault Saunier
05225ac602
validate: scenario: Add a 'allow-error' configuration
...
This new configuration allows the scenario to keep running even
after receiving an "error" message on the bus.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898 >
2022-04-20 17:09:01 -04:00
Xavier Claessens
82ca0e291b
Delete unused i18n headers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028 >
2022-04-19 18:01:06 +00:00
Xavier Claessens
b004464ac6
Remove glib and gobject dependencies everywhere
...
They are part of gst_dep already and we have to make sure to always have
gst_dep. The order in dependencies matters, because it is also the order
in which Meson will set -I args. We want gstreamer's config.h to take
precedence over glib's private config.h when it's a subproject.
While at it, remove useless fallback args for gmodule/gio dependencies,
only gstreamer core needs it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031 >
2022-04-01 16:32:17 +00:00
Matthew Waters
8b82463b01
validate/media-info: silence unsed variable warning
...
Fixes:
../validate/gst/validate/gst-validate-media-info.c:714:28: error: variable 'total_sink_count' set but not used [-Werror,-Wunused-but-set-variable]
guint id, ncounters = 0, total_sink_count = 0;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046 >
2022-03-28 10:30:23 +00:00
Thibault Saunier
188635b25f
validate:scenario: Support args in the emit-signal
action
...
This was never needed before but it is generally useful and there
was a todo about it
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1492 >
2022-03-24 00:01:20 +00:00
Thibault Saunier
692750efae
validate: Totally hide media descriptor node types from the API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1986 >
2022-03-18 23:30:37 +00:00
Thibault Saunier
1a5d2ce98c
validate: Cleanup ABI and make it ready to be stabilized this cycle
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1810 >
2022-03-17 14:48:34 +00:00
Thibault Saunier
5089139e57
validate: Introspect gst-validate-runner.c
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1810 >
2022-03-17 14:48:34 +00:00
Thibault Saunier
2ef203e659
validate: Add getters for ValidateReports
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1810 >
2022-03-17 14:48:34 +00:00
Philippe Normand
5ea0c20a33
validate: Change IssueId type to guint32
...
Which is a bit more bindings-friendly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1810 >
2022-03-17 14:48:34 +00:00
Philippe Normand
c275b5c678
validate: Keep scenario alive enough when executing actions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1810 >
2022-03-17 14:48:34 +00:00
Philippe Normand
a9e3b05055
validate: Introspection annotation cleanups
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1810 >
2022-03-17 14:48:34 +00:00
Philippe Normand
d07f2323fe
validate: Fix padding and constants
...
Without this the Rust -sys validate crate tests don't pass.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1810 >
2022-03-17 14:48:34 +00:00
Philippe Normand
8780da3ffe
validate: Expose all public headers in main header
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1810 >
2022-03-17 14:48:34 +00:00
Philippe Normand
aa917a9d9a
validate: Fix pkgconfig name
...
Making it consistent with the reset of GStreamer. This also means that
anyone wanting to target -validate >= 1.22 needs to change the way they
link against it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1810 >
2022-03-17 14:48:34 +00:00
Corentin Noël
15a75b99df
validate: Fix typo in get_reports
...
Return without s isn't taken into account for the introspection.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1965 >
2022-03-16 10:37:44 +00:00
Sebastian Fricke
0b6bbce012
Remove the uninstalled term
...
Remove the symbolic link `gst-uninstalled` which points to `gst-env`.
The `uninstalled` is the old name and the project should stick to a
single name for the procedure.
Remove the term from all the files, exceptions are variables from
dependencies like `uninstalled_variables` from pkgconfig and
`meson-uninstalled`.
Adjust mentions of the script in the documentation and README.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743 >
2022-03-01 11:33:10 +00:00
Tim-Philipp Müller
d96e44922e
Use g_pattern_spec_match() instead of g_pattern_match() which is deprecated since glib 2.70
...
Fixes compiler warnings with glib 2.70
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1279 >
2021-10-30 00:34:35 +01:00
Thibault Saunier
2fd461a032
validate:build: Disable static building validate tracer
...
It introduce duplication of symbols and we need to rework the way we implement it
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093 >
2021-10-15 19:27:30 -03:00