Jan Alexander Steffens (heftig)
a299399f5c
tests: allocators: Fix fdmem test with recent GLib
...
The test failed with recent GLib, where `g_close` emits a critical
warning on EBADF. Remove the `g_close` check from `test_fdmem` and add
another version that tests `GST_FD_MEMORY_FLAG_DONT_CLOSE`.
We will depend on the Valgrind test run to warn us about leaked FDs.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2480
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4422 >
2023-04-14 10:14:48 +00:00
Matthias Fuchs
f4aeac45e5
glvideoflip: fix leaked caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4420 >
2023-04-14 04:33:30 +00:00
Matthias Fuchs
07c1b891b6
glcontext_wgl: fix missing unref
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4419 >
2023-04-14 03:45:12 +00:00
Tim-Philipp Müller
d838d8dd1b
Back to development
2023-04-12 00:31:17 +01:00
Tim-Philipp Müller
a8f569e801
Release 1.22.2
2023-04-11 17:29:28 +01:00
Tim-Philipp Müller
4982c7d45e
gst-plugins-base: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4390 >
2023-04-11 12:10:37 +01:00
Rouven Czerwinski
1ff0e6d305
gst-plugins-base: gl: wayland: cleanup on close
...
The proxy and queue are created in the gst_gl_window_wayland_egl_open()
function and will be recreated on open. This leaks both objects, the
wayland client documentation mentions that they should be destroyed
using the appropriate destroy functions.
Found during valgrind memory leak testing, these blocks were marked as
definitely lost.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4355 >
2023-04-06 12:16:58 +01:00
Sebastian Dröge
2c3a1d0006
sdp: Skip source-specific caps fields when creating an SDP media from caps
...
Regression from https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132
We parse the source-specific fields from the SDP and put it into the
caps, but when converting caps into an SDP again this would need special
handling. By default it would end up as part of the fmtp field, which is
simply wrong.
Automatically putting it into the caps and SDP will need some more work.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4344 >
2023-04-05 11:44:11 +00:00
Seungha Yang
cb08a6d8dc
tools: Count argc after parsing GOption on Windows
...
Existing codes rely on modified argc value by g_option_context_parse()
but g_option_context_parse_strv() is used in case of Windows.
Count arguments after the option parsing manually.
Fixing command "gst-inspect-1.0.exe -b"
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4322 >
2023-04-01 00:14:57 +00:00
Robert Rosengren
b2feff23bc
alsasink: Fix for being stuck in stop_streaming_threads state
...
Moving from PLAYING to NULL will set the stop_streaming_threads to TRUE,
but when moving back upwards its not reset to FALSE (as only done in
uncalled init and resume callbacks).
Fix by reseting value in the prepare callback.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4321 >
2023-03-31 23:46:28 +01:00
Ilie Halip
476a8aca78
typefindfunctions: Increase xml typefinder closing brace limit
...
If the first XML element in a DASH manifest has its closing brance
beyond the first 512 bytes (because of, e.g. lots of attributes),
the MPD typefinder fails. Try to read a larger block, and then
smaller blocks until 512 bytes.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2385
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4302 >
2023-03-30 23:12:23 +00:00
Bart Van Severen
d2678a1f54
rtsp: gstrtspurl: gst_rtsp_url_get_request_uri: use rtsps scheme for tls transport methods
...
gst_rtsp_url_get_request_uri returns rtsp://... url when requested url is rtsps://, this is not
in accordance with https://www.rfc-editor.org/rfc/rfc7826.html#section-19.2 .
This also impedes setting up a rtsps session with a live555 rtsp server.
Don't expose other than rtsp and rtsps internal gstreamer rtsp url schemes
to avoid regression:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2412
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4298 >
2023-03-30 22:05:37 +00:00
Bart Van Severen
e8d7f326ff
Revert "rtsp: gstrtspurl: gst_rtsp_url_get_request_uri: fix incorrect scheme for tls transport methods"
...
This reverts commit 024ef7659d
because it causes a regression:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2412
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4298 >
2023-03-30 22:05:37 +00:00
Haihua Hu
8a340bcc05
decodebin3: fix hang issue when remove failing stream
...
Need mark selection_update to true when update selection,
otherwise, pipeline will not handle this selection update
sometimes when this flag has been reset
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4284 >
2023-03-28 00:51:53 +01:00
Edward Hervey
02a8e4bb4c
parsebin: Improve elementary stream handling
...
The goal of parsebin is to figure out which elements to link together in order
to provide elementary streams given any random input.
The problem is that deciding whether a given stream should still have more
elements plugged in or not was dependent on ... the presence of compatible
decoders (sic).
Instead of that, if we can't plug anymore elements on a given stream *and* it is
detected as being an elementary stream, expose it.
Fixes #2118
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4237 >
2023-03-21 11:36:13 +00:00
Edward Hervey
9ea540c616
urisourcebin: Activate pad before transferring sticky events
...
Otherwise they get refused since the pad is flushing
Fixes #2384 for good
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4233 >
2023-03-20 19:54:00 +00:00
Sebastian Dröge
5ddc082710
plugins: Fix various trivial clang compiler warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4221 >
2023-03-18 19:52:40 +00:00
Edward Hervey
611fc00833
urisourcebin: Propagate sticky events from parsebin
...
If sticky events are present on parsebin source pads, we propagate them to the
multiqueue source pads. Those will be propagated on the new urisourcebin source
pads like in the other code paths.
This ensures that STREAM_START event are present on new source pads. If CAPS
event are also present (not guaranteed), they will also be available.
Fixes #2384
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4218 >
2023-03-18 06:47:21 +00:00
Tim-Philipp Müller
3acf83be50
Back to development
2023-03-04 16:13:04 +00:00
Tim-Philipp Müller
3ab8a0bc3e
Release 1.22.1
2023-03-04 13:42:32 +00:00
Nicolas Beland
32336c897c
alsasink: Fix stall when going from PLAYING to NULL (stucked at PAUSED) with uac1 gadget
...
This happened with a uac1 gadget which for some reason does not behave nicely.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4104 >
2023-03-03 09:39:26 +00:00
Carlos Falgueras García
181b545713
gldisplay: Remove unused code
...
The code related with environment variable `GST_GL_PLATFORM` is unused
since commit 33c60bdbf9
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4091 >
2023-03-01 09:23:35 +00:00
Seungha Yang
591515da1e
tools: Make sure UTF-8 encoded command line arguments on Windows
...
On Windows, arguments passed in main() are system codepage
encoded and might not be valid UTF-8 string.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4072 >
2023-02-26 12:30:52 +00:00
Patricia Muscalu
4024e6b775
rtspconnection: Annotate RTSP message parameters correctly
...
These parameters are not actually `out` parameters but must
be allocated and zero-initialized by the calling function.
Marking them as `out caller-allocates` will cause memory
corruptions when calling these APIs from e.g., Python code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4061 >
2023-02-24 01:04:23 +00:00
Tristan van Berkom
13714d507d
gstglwindow_x11.c: Fix colormap leak
...
This fixes an X server side memory leak, this is normally not severe
but in some circumstances where the glwindow is recreated frequently
it can result in a very bad memory leak.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4054 >
2023-02-23 11:21:20 +00:00
Tim-Philipp Müller
c30dc0ade3
gst-plugins-base: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4041 >
2023-02-22 13:19:58 +00:00
Tim-Philipp Müller
0c693363fb
gst-play: update translated string
...
Make it more consistent with the other option descriptions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4033 >
2023-02-21 23:07:00 +00:00
Sebastian Dröge
ceceefd141
appsrc: Don't chain up BaseSrc::negotiate()
...
If we have caps then we can only set exactly those caps, if we have no
caps yet then negotiating anything is not very meaningful because the
caps are defined by the application and not downstream.
Avoids, among other things, an unnecessary allocation query and spurious
useless caps being set before the first buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4020 >
2023-02-21 13:57:06 +00:00
Edward Hervey
90508b7387
gst-play: Don't force accurate seeking
...
This crept in several years ago sadly :(
The usage of accurate seeking should be reserved to use-cases where it is
essential that we seek to that position. This should not be the default.
There is a new option `--acurate-seeks/-a` to be able to force that.
Furthermore, if accurate seeks aren't required, a player should be using the
GST_SEEK_FLAG_KEY_UNIT flag to seek to the closest keyframe and provide the most
reactive experience.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4017 >
2023-02-21 12:54:10 +00:00
Thibault Saunier
286020bd23
uridecodebin: Set source element to READY before querying it
...
Generating the source element is done when uridecodebin is doing the
READY to PAUSED state change, so it is reasonable to set the new source
element to that state.
This also allows detecting early failures with backing libraries or
hardware (checks done in NULL->READY).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4016 >
2023-02-21 12:07:57 +00:00
Thibault Saunier
b46360896c
glvideomixer: Keep a reference to the underlying pad
...
There was cases where we were accessing the pad while it was already
destroyed. Ensure it can't happen by owning a ref on it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3963 >
2023-02-15 03:11:03 +00:00
Yang, Xuchen
b2bdadd05b
audio: channel-mix: Fix channel count limit to be able to equal 64
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3958 >
2023-02-14 11:51:25 +00:00
Edward Hervey
208955307f
subparse: Properly forward segment seqnum
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3917 >
2023-02-09 00:13:40 +00:00
Jan Schmidt
f7fc9fd76e
gl/cocoa: Return a strong ref to the parent GstGLContext
...
If the GstGLCAOpenGLLayer was initialized via a parent
context, make sure to ref the context before returning it
from getGLContext as all callers will unref it.
Follow up to !3729
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3885 >
2023-02-02 18:20:42 +00:00
Sebastian Dröge
0474720c8b
gldisplay: Mark gst_gl_display_create_context()
other_context
parameter as nullable
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/438
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3835 >
2023-01-28 17:32:54 +00:00
Bart Van Severen
db2b357791
rtsp: gstrtspurl: gst_rtsp_url_get_request_uri: fix incorrect scheme for tls transport methods
...
gst_rtsp_url_get_request_uri returns rtsp://... url when requested url is rtsps://, this is not
in accordance with https://www.rfc-editor.org/rfc/rfc7826.html#section-19.2 .
This also impedes setting up a rtsps session with a live555 rtsp server.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3818 >
2023-01-27 01:58:48 +00:00
Bart Van Severen
0b08687633
sdp: gstmikey: gst_mikey_message_to_caps: extract salt and append to srtp-key
...
A KEMAC can hold both key and salt, so if salt is present, we should extract it
and append it to the srtp-key cap because libsrtp expects the srtp-key to hold
the concantenated srtp master key and salt.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3818 >
2023-01-27 01:58:48 +00:00
Bart Van Severen
f04878c216
sdp: gstmikey: gst_mikey_message_to_caps: extract ROC from first crypto session
...
We need the ROC to decrypt a SRTP stream as the ROC is part of the AES IV.
So look for first crypto session, from which we can get the ROC and find corresponding
crypto policy.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3818 >
2023-01-27 01:58:48 +00:00
Sebastian Dröge
a5bbc16ca5
sdp: Fix gst_mikey_payload_key_data_set_interval() array length annotation
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1744
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3814 >
2023-01-27 00:54:10 +00:00
Tim-Philipp Müller
e87857a210
Back to development
2023-01-25 16:46:42 +00:00
Tim-Philipp Müller
f13c65d977
Release 1.22.0
2023-01-23 19:41:07 +00:00
Tim-Philipp Müller
8227b04429
gst-plugins-base: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3773 >
2023-01-23 16:31:20 +00:00
Ruben Gonzalez
2cdfccc3b5
glvideomixer: Fixing error with mouse navigation events when no pixel-aspect-ratio
...
Handling mouse navigation events in glvideomixer element, if no
pixel-aspect-ratio info in the caps, an assertion error is produced
inside gst_util_fraction_multiply because default denominator is zero.
Error fixed:
```
(gst-launch-1.0:102654): GStreamer-CRITICAL **: 00:47:51.598: gst_util_fraction_multiply: assertion 'b_d != 0' failed
```
Simple pipeline to reproduce the issue:
```
gst-launch-1.0 -v glvideomixer name=mix ! glimagesinkelement gltestsrc ! mix.sink_0
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3766 >
2023-01-22 00:52:56 +01:00
Edward Hervey
4c1d01ff57
playback: New playback elements are no longer experimental
...
The API is not expected to change and it has been used extensively since 1.18.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3761 >
2023-01-21 12:28:21 +00:00
Edward Hervey
e2773304a2
decodebin3: Remove failing stream from selection
...
If no decoder is present for a given stream, remove it from the requested
selection.
Fixes #1581 and #1662
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3754 >
2023-01-20 08:54:00 +00:00
Edward Hervey
34ea792881
decodebin3: Don't intercept queries if no parsebin present
...
If we don't use a parsebin, we forward the queries as-is from upstream. There is
no reconfiguration possible within identity.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3754 >
2023-01-20 08:54:00 +00:00
Edward Hervey
1a30ed8113
decodebin3: Don't insert parsebin if input is already parsed
...
This is a temporary workaround until we find a generic solution to indicate that
a stream has already been "parsed".
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3754 >
2023-01-20 08:54:00 +00:00
Guillaume Desmottes
2930fed373
gst-play: add --no-position
...
It can be useful to reduce or remove the clutter in logs due to those
queries when debugging.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3698 >
2023-01-19 11:41:20 +00:00
Nicolas Dufresne
8a6d9748b6
gleglimage: Fix GL_OES_EGL_image_external name in debug trace
...
There is a debug log when this extension is missing, but it was
reporting the wrong extension name, which was confusing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3748 >
2023-01-18 22:47:42 +00:00
Michiel Konstapel
81b726344e
glvideomixer: don't clear pad->geometry_change when setting an identical value
...
Closes #1715
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3733 >
2023-01-18 14:05:37 +00:00
Tim-Philipp Müller
64c4bfdf7e
uridecodebin3: clear subitem if suburi is set to NULL
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1649
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3730 >
2023-01-18 11:43:31 +00:00
Nirbheek Chauhan
ed1bdf9b1a
gl: Fix crash in cocoa due to race in gst_gl_context_activate()
...
We create a new context in `gst_gl_context_create_thread()` and then
activate it on the current thread. Thereafter we assume that the
current thread continues to be the active thread for that context and
call `gst_gl_context_fill_info()` which asserts that the current
thread is the active thread.
However, if at the same time a different thread calls
`send_message_async()`, it will call into
`gst_gl_window_cocoa_send_message_async()` which will schedule the
message to be invoked using GCD. That anonymous function will also
call `gst_gl_context_activate()`, which creates a race, which can lead
to:
```
gst_gl_context_fill_info: assertion 'context->priv->active_thread == g_thread_self ()' failed
```
Fix it by using `gst_gl_context_thread_add()` to invoke `fill_info()`
on the context.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3732 >
2023-01-17 21:56:41 +00:00
Sebastian Dröge
086c8da446
gl/cocoa: Store a weak reference to the GstGLWindow
instead of the GstGLContext
...
We can't rely on the `GstGLContext` to stay alive and need to keep track
of it. For that we keep track of the `GstGLWindow` in a weak reference
to avoid a reference cycle, and get the corresponding `GstGLContext`
whenever needed.
With contributions from Nirbheek Chauhan.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1697
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3729 >
2023-01-17 22:35:29 +05:30
Tim-Philipp Müller
a9ec35b1ca
Release 1.21.90
2023-01-13 19:08:48 +00:00
Edward Hervey
13ad8c8e4e
urisourcebin: Cleanup on failure
...
This ensures there is a source present/valid *ONLY* in PAUSED and above.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3720 >
2023-01-13 16:41:53 +01:00
Edward Hervey
1546ab0d0f
urisourcebin: Unset locked state
...
Some elements still had it in failure cases
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3720 >
2023-01-13 16:41:53 +01:00
Edward Hervey
f444e62672
uridecodebin3: Handle state synchronization failures
...
Properly reset and remove the failing urisourcebin if we failed bringing them up
to the same state as ourselves.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1708
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3720 >
2023-01-13 16:41:53 +01:00
Thibault Saunier
d8ba721d82
glbasefilter: Copy metas when they only contain they "video" tag
...
Same logic as in `GstVideoFilter`
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3716 >
2023-01-12 14:41:24 -03:00
Edward Hervey
1fe99ebae1
decodebin3: Fix global group-id handling
...
The goal of the "global" group-id is to fix new inputs that do not come from the
same "source" as others. In order to ensure all "current" streams have the same
group-id we distribute the first valid group-id to all streams.
This commit fixes two issues with that:
* When inputs are unlinked they weren't always properly resetted (it would only
work if parsebin is used, which is no longer the default in
uridecodebin3/playbin3).
* When computing the global group-id, take into account unset
group-id (i.e. GST_GROUP_ID_INVALID).
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1698
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3712 >
2023-01-11 23:29:05 +00:00
Tim-Philipp Müller
d803bf852f
gst-plugins-base: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3711 >
2023-01-11 19:20:17 +00:00
Tim-Philipp Müller
a1672ec004
Fix translation pot files when creating dist tarballs
...
Add version as per Translation Project requirements and
also add a .pot file without the ABI suffix.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3711 >
2023-01-11 19:20:17 +00:00
Guillaume Desmottes
22917b140f
decodebin3: ensure recalculate_group_id() is called with INPUT lock
...
This function uses main_input and current_group_id which are protected
by the input lock.
Some calls were already safe but not all.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3702 >
2023-01-11 18:37:05 +00:00
Guillaume Desmottes
cad0768191
uridecodebin3: fix stream leak
...
GstSourcePad owns the GstStream but was not unreffing it when being
disposed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3617 >
2023-01-11 16:44:21 +00:00
Guillaume Desmottes
da696477c6
decodebin3: fix dead lock when removing pad
...
gst_element_remove_pad() is triggering a call to
gst_decodebin3_input_pad_unlink() which needs the input lock as well,
resulting in a dead lock.
Fix #1667
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3614 >
2023-01-11 15:06:37 +00:00
Sebastian Dröge
c28bc4492e
tools: Use gst_macos_main()
on macOS
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1673
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3709 >
2023-01-11 13:36:55 +00:00
Tim-Philipp Müller
d2ef7819d3
tests: interactive: test-effect-switch: use autovideosink
...
Also works on Windows.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3703 >
2023-01-10 13:28:30 +00:00
Tim-Philipp Müller
1b7c95ec01
gst-play: fix command line option string formatting
...
Add missing space to translated string.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3696 >
2023-01-09 01:24:57 +00:00
Mathieu Duponchelle
2f020013e6
docs: explicitly declare gir build dependencies
...
As the path to the gir file is passed to hotdoc.generate_doc() and
not the build target itself, meson doesn't know about the dependency.
In turn, as the CI doesn't build everything before building the
documentation target, some gir files might not exist, for instance
in the case of gst-rtsp-server, causing the output documentation to
be empty.
The error occurred silently because hotdoc accepts wildcards for
*-sources arguments, thus it won't warn about a missing gir file as
it is legitimate for glob matching to resolve to nothing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3686 >
2023-01-06 22:50:57 +00:00
Sebastian Dröge
fa2b98f957
typefindfunctions: Add missing length check to XML typefinder
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54811
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3690 >
2023-01-06 18:10:20 +02:00
Sebastian Dröge
54ff9b2b5f
typefindfunctions: Reduce XML typefinder minimum data size from 64 to 32 bytes
...
64 bytes makes the typefinder fail on very small XML documents on which
it succeeded previously.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3690 >
2023-01-06 14:37:31 +02:00
Sebastian Dröge
37f219bd57
opusdec: Try harder to negotiate the upstream channels/rate preferences
...
It might be possible to fulfill those but not with the first caps
structure. Instead of just fixating the first caps structure, check if
the preference can be fulfilled by any of the structures as the first
step.
Without this the following pipeline negotiates to mono after the
decoder because opusenc only has a single channel in its first caps
structure.
gst-launch-1.0 audiotestsrc ! audio/x-raw,channels=2 ! opusenc \
! queue ! opusdec ! queue ! opusenc ! fakesink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3689 >
2023-01-05 17:59:41 +02:00
Sebastian Dröge
516fe4ca58
Revert "opusenc: Reverse channel order in template caps"
...
This reverts commit cdf411e82d
. It causes
pipelines to unnecessarily negotiate to 8 channels.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1688
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3689 >
2023-01-05 17:57:19 +02:00
Olivier Crête
f97ff39358
audioenc/dec: Avoid adding temporary structure
...
As a minor optimisation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3673 >
2023-01-04 11:09:31 +00:00
Olivier Crête
e03a10a0f2
audioenc/dec: Preserve downstream caps preference in get caps
...
This should fix pipelines such as this one to work as expected
... ! opusenc ! capsfilter caps='audio/x-opus,
channels=1; audio/x-opus, channels=2' ! ...
The expectation is that the encoder will propose the first structure
before the second one to the source.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3673 >
2023-01-04 11:09:31 +00:00
Sebastian Dröge
401ea9f683
typefindfunctions: Check for the SVG namespace URL in addition to <svg
and the doctype
...
Finding the SVG namespace URL gives a clear indication that this is
actually an SVG file while the `<svg>` tag only gives a likely
indication as it's rather short.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1540
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3631 >
2023-01-04 00:49:47 +00:00
Sebastian Dröge
11520403a5
typefindfunctions: Make XML typefinder more strict
...
If a XMLDec is found, check also for its end. Similarly, check for the
end of the XML tag we're looking for and make sure that the following
characters are valid.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1536
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3632 >
2023-01-03 12:07:43 +00:00
Edward Hervey
6beca9f055
urisourcebin: Fix parsebin handling
...
The goal of !3601 was to make sure we don't end up with non-streams-aware
adaptive demuxers. Since we know that parsebin is streams-aware, just remember
that and handle them that way.
Fixes issues with some scenarios where parsebin might add pads *before* the
collection is posted on the bus
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1675
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3658 >
2022-12-30 08:46:14 +01:00
Edward Hervey
66b96baf23
uridecodebin3: Fix handling of "expected" pads
...
The number of expected pads was:
* Defaulting to 1
* Or being overriden by GST_MESSAGE_STREAMS_SELECTED
This fails if upstream isn't a selectable source and has multiple streams, and
would therefore cause failures with multi-stream gapless playback
Fixes #1672
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3658 >
2022-12-30 08:46:14 +01:00
Edward Hervey
80e7c31514
uridecodebin3: Avoid repeatedly calling the blocking probe
...
When skipping an event, we want to unref it and say we handled it. This avoids
being repeatedly called for the same (sticky) events.
The events will be properly propagated once the pad is linked.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3658 >
2022-12-30 08:46:13 +01:00
Edward Hervey
a0655d5131
uridecodebin3: Handle multiple pending pad block probes
...
It is quite possible to have the blocking probe called from different streaming
threads when all expected pads are present.
* Notify all waiters by using g_cond_broadcast instead of g_cond_signal
* Properly remove the probe after waiting
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3658 >
2022-12-30 08:46:13 +01:00
Sebastian Dröge
19603248c2
gl: Mark gst_gl_context_new_wrapped()
return value as nullable
...
If a GL context is requested for which no API support is compiled in
then `NULL` is returned.
Also remove a useless `NULL` check: `g_object_new()` can't possibly
return `NULL`, ever.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3656 >
2022-12-29 09:03:53 +00:00
F. Duncanh
b713c141e0
plugins-base/tests/check/meson.build: add omitted Wayland dependence
...
SUSE places Wayland include files in /usr/include/wayland, and needs
a Cflag added to wayland_client_deps by pkg-config, which is added to
gl_winsys_deps: add this as a dependency in gstgl_dep to fix issue.
Fixes #1607
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3638 >
2022-12-28 20:04:49 -05:00
Nirbheek Chauhan
36a619ba60
meson: Add gstreamer-gl-1.0 pkgconfig vars to internal dependency
...
So we can fetch gl_winsys, gl_platforms, etc directly using
gst_gl_dep.get_variable() when building gstreamer as a subproject, or
when building gst-plugins-rs's gtk4 plugin.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3654 >
2022-12-29 03:52:42 +05:30
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
Edward Hervey
74a503c197
urisourcebin: Modify check for streams-aware adaptive demuxers
...
Using the "GstBin" flags to check if an adaptive demuxer is streams-aware isn't
a good idea since it prevents using elements which aren't bins.
Instead we see if a collection was posted by the demuxer by the time a pad is
added.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3601 >
2022-12-19 15:23:32 +00:00
Philipp Zabel
2a602afe8a
videoconvertscale: fix valid_tags NULL-terminated array of strings
...
The valid_tags array of strings must be NULL-terminated,
as it is passed to the g_strv_contains() function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3603 >
2022-12-19 15:30:42 +01:00
Guillaume Desmottes
1f929ba32f
uridecodebin3: fix typo in doc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3602 >
2022-12-19 14:24:06 +01:00
Thibault Saunier
f7b342f1dd
base:navigation: Cleanup navigation key modifiers enum
...
We were exposing the 'ALT' modifier as if we were guaranteeing its
accuracy but truth is we were only exposing configuration dependent
values.
Make the API simpler for now, the same way as Gtk3 was exposing it, and
when we have time to guarantee more values by making them take backends
configuration into account, we will expose those values in a accurate
way.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1402
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3565 >
2022-12-15 16:47:13 +00:00
Matthew Waters
e59b3c93c7
glupload: add CAN_ACCEPT_RAW to all dma-buf uploaders
...
Fixes cases where a dma-buf would be uploaded using direct-dma-buf
into an external-oes texture (using video/x-raw caps) and then
attempting to reconfigure the same source.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3486 >
2022-12-14 23:45:56 +00:00
Guillaume Desmottes
e87a2c38c0
glvideomixer: override sink pad template
...
Allow us to pass the GType of its pad and so
improve the documentation when inspecting glvideomixer.
Fix #1253
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2527 >
2022-12-14 12:50:36 +00:00
Philippe Normand
d98c78251c
video-format: Add macro checking for validity of GstVideoFormatInfo
...
Mostly to maintain consistency with the GST_AUDIO_FORMAT_INFO_IS_VALID_RAW
macro.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2800 >
2022-12-12 19:39:10 +00:00
Philippe Normand
3345d16aed
audio-format: Add macro checking for validity of GstAudioFormatInfo
...
`gst_audio_format_info_fill_silence()` not properly checking the validity of its
input may lead it into an infinite loop.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2800 >
2022-12-12 19:39:10 +00:00
Tim-Philipp Müller
b9d8fb3d63
timeoverlay: fix pad leak
...
Spotted by Jiri Uncovsky.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1336 >
2022-12-11 23:54:50 +00:00
Sebastian Dröge
010ede30dd
textrender: Negotiate caps on a GAP event if none were negotiated yet
...
Otherwise downstream wouldn't have received a segment event either and
wouldn't know what to do with the gap event
And also forward any pending segment event.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3541 >
2022-12-07 14:27:17 +00:00
Tim-Philipp Müller
1f65d7cc5c
Back to development
2022-12-05 02:29:08 +00:00
Tim-Philipp Müller
fd6a3948c6
Release 1.21.3
2022-12-05 01:28:21 +00:00
Tim-Philipp Müller
84e74ceb10
Remove ChangeLog files from git repository
...
This information is tracked fully in the git repository, so
no point having the ChangeLog duplicate it, and it interferes
with grepping the repository.
We are going to create the ChangeLogs on the fly when generating
tarballs going forward (with a limited history), since it's still
valuable for tarball consumers to be able to easily see a list of
recent changes.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/73
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3521 >
2022-12-04 18:16:25 +00:00
Tim-Philipp Müller
9eb081ea0a
meson: Generate ChangeLog files for release tarballs on dist
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3521 >
2022-12-04 18:16:25 +00:00
Edward Hervey
36c3bb0d05
uridecodebin3: Protect against NULL uri/suburi
...
Fixes #1625
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3511 >
2022-12-02 16:55:05 +00:00
Edward Hervey
41017e6c34
uridecodebin3: Always store pending buffering messages
...
Fixes #1586
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3487 >
2022-12-02 09:22:41 +00:00