Tim-Philipp Müller
c1baa37f74
tracerutils: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:06 +00:00
Tim-Philipp Müller
3261daa623
taskpool: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:06 +00:00
Tim-Philipp Müller
eeced74fce
segment: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:06 +00:00
Tim-Philipp Müller
19a6468a53
sample: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:06 +00:00
Tim-Philipp Müller
f343d01f10
query: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:06 +00:00
Tim-Philipp Müller
e190ff16cc
iterator: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
6a0be7ea56
event: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
dcc8830bb2
info: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
2f88c68659
devicemonitor: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
15c1b9ad45
datetime: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
384c4f1bef
clockentry: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
1c8bb3f8db
context: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
267adee5b7
uri: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
755f214a52
meta: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
9dd70085f1
message: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
976861a07a
gstvalue: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
76c8a619f9
caps, capsfeatures: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
7d58554f4c
bus, poll: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
5a2d643f9b
bin: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
aef5456140
taglist, tagsetter: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
7d1675e42e
toc, tocsetter: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
25f7fa1efc
allocator, buffer, bufferlist: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
9e71898337
registrychunks: get rid of internal GST_REGISTRY_CHUNK_FLAG_MALLOC
...
Not actually needed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
ade83c8355
registry: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
e675519a2c
gstparse: drop use of GSlice allocator
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
28dc56dc6c
core: examples: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
d5d25c0f7a
core: tests: drop use of GSlice allocator
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Tim-Philipp Müller
6bdef53683
tools: gst-stats: drop use of GSlice allocator
...
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/291
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:05 +00:00
Alicia Boya García
2c2767b94a
Use automatic pad activation in elements that can take advantage of it
...
Pads are activated automatically when they are added if the element
state is >=PAUSED, so it's not necessary to activate them manually
anymore.
This patch removes manual pad activation from gstaggregator, gstconcat,
gstfunnel, and gstinputselector.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3636 >
2023-01-24 14:42:35 +00:00
Sebastian Dröge
13fc49770e
avvidenc: Don't take ffmpeg timestamps verbatim but only use them to calculate DTS
...
The ffmpeg timestamps are inaccurate and only in framerate granularity.
To avoid generating inaccurate output timestamps, especially with
variable framerate streams, only use the ffmpeg timestamps for
calculating the DTS.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1544
again.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3780 >
2023-01-24 13:50:11 +00:00
Sebastian Dröge
5372b77987
Revert "avvidenc: Set timebase in the ffmpeg context to nanoseconds and set framerate"
...
This reverts commit 50db59449e
.
This broke the MPEG-1 video encoder as it requires the framerate to be
used for the timebase.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1734
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3780 >
2023-01-24 13:50:11 +00:00
Jan Alexander Steffens (heftig)
12bc5b7a62
vaapi: Skip plugin pc file for shared plugins
...
Following similar logic in the other subprojects.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3778 >
2023-01-24 13:17:45 +00:00
David Svensson Fors
d0edc1ad6a
udpsrc: GstSocketTimestampMessage only for SCM_TIMESTAMPNS
...
Deserialize socket control messages as GstSocketTimestampMessage only
if (level, type) is (SOL_SOCKET, SCM_TIMESTAMPNS).
Without this patch, messages with types SCM_RIGHTS or SCM_CREDENTIALS
could be deserialized as GstSocketTimestampMessage instead of
GUnixFDMessage or GUnixCredentialsMessage from gio.
Fixes #1736
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3777 >
2023-01-24 10:49:01 +01:00
Hiero32
145d362129
taginject: Add scope property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3697 >
2023-01-24 00:20:53 +00:00
Tim-Philipp Müller
41c69372b5
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3775 >
2023-01-23 23:04:53 +00:00
Tim-Philipp Müller
f13c65d977
Release 1.22.0
2023-01-23 19:41:07 +00:00
Tim-Philipp Müller
6671a24e36
gst-plugins-ugly: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3773 >
2023-01-23 16:31:20 +00:00
Tim-Philipp Müller
2fe212bdbe
gst-plugins-bad: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3773 >
2023-01-23 16:31:20 +00:00
Tim-Philipp Müller
060712f68f
gst-plugins-good: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3773 >
2023-01-23 16:31:20 +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
Tim-Philipp Müller
478c6159eb
gstreamer: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3773 >
2023-01-23 16:31:20 +00:00
Seungha Yang
467a2408a1
d3d11compositor: Workaround blending artifacts on Intel platform
...
Disable vendor implemented converter in d3d11compositor to workaround
artifacts
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3770 >
2023-01-23 23:34:04 +09: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
Sebastian Dröge
4e86c77270
examples: webrtc: rust: Update dependencies
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3758 >
2023-01-20 11:36:57 +00:00
Sebastian Dröge
f45136827b
examples: webrtc: multiparty-sendrecv: rust: Remove unnecessary macro recursion limit annotation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3758 >
2023-01-20 11:36:57 +00:00
Sebastian Dröge
bf4a3c89cd
examples: webrtc: sendrecv: rust: Implement OFFER_REQUEST
handling
...
Allow requesting an offer from the peer if we're joining a call with a
peer, and allow the peer to request an offer from us if waiting for an
incoming call.
This implements all 4 variants the protocol allows for.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3758 >
2023-01-20 11:36:57 +00:00
Sebastian Dröge
638465908e
examples: webrtc: sendrecv: rust: Allow providing our ID via the commandline
...
Otherwise it continues to use a random ID as before.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3758 >
2023-01-20 11:36:57 +00:00
Sebastian Dröge
541c637910
examples: webrtc: sendrecv: rust: Implement TWCC support in both directions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3758 >
2023-01-20 11:36:57 +00:00
Sebastian Dröge
6541dccaea
examples: webrtc: rust: Set keyframe-max-dist=2000 and picture-id-mode=15-bit for VP8 and perfect-timestamps=true for audio
...
This makes it in sync with the C sendrecv and generally behaves better.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3758 >
2023-01-20 11:36:57 +00:00
Sebastian Dröge
083b9f2a6e
examples: webrtc: sendrecv: rust: Use the correct payload types if the remote is the offerer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3758 >
2023-01-20 11:36:57 +00:00
Jonas Danielsson
8eeaeab6af
wpe: Add 'run-javascript' action signal
...
Introduce way of running a script in the context of the internal
webView.
Fixes #1722
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3753 >
2023-01-20 10:58:31 +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
Seungha Yang
f983ec50b5
win32ipcvideosrc: Fix leak in fallback copy path
...
Clear shared memory after use
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3751 >
2023-01-19 17:40:59 +00:00
Edward Hervey
b01ed725be
va: Fix path leak
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3755 >
2023-01-19 16:41:44 +01:00
Sebastian Dröge
6a210b53e3
gst: Mark caps parameters in ALLOCATION query API as nullable
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3752 >
2023-01-19 16:01:21 +02: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
Sebastian Dröge
067b5d92b4
matroska: Add stream-format = (string) obu-stream
to AV1 caps
...
Anything else is not allowed in Matroska/WebM.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3740 >
2023-01-19 12:10:40 +02:00
Sebastian Dröge
4c8141a0c3
isomp4: Add stream-format = (string) obu-stream
to AV1 caps
...
Anything else is not allowed in MP4.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3740 >
2023-01-19 12:10:40 +02:00
Sebastian Dröge
ac1d10f80c
gst-examples: Update Rust dependencies
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3750 >
2023-01-19 10:40:32 +02: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
Jan Alexander Steffens (heftig)
b0e55caf0d
input-selector: Take the object lock while iterating sinkpads
...
Otherwise we can race with pad removal and crash from use-after-free.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1717
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3745 >
2023-01-18 16:21:12 +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
59f4ebe321
gst-docs: include dmabuf and gapless playback design docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3744 >
2023-01-18 13:48:14 +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
Jan Alexander Steffens (heftig)
211191564e
qtdemux: Add basic support for AVC-Intra video
...
AVC-Intra is a range of H.264-compliant intra-only codecs from
Panasonic. The codes and descriptions have been taken from VLC.
The (encumbered) sample I have here produces byte-stream H.264,
including SPS and PPS and no `avcC` box.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3739 >
2023-01-18 10:01:30 +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
Thibault Saunier
18f313d317
ges: smart-mixer: Avoid video freeze on NLE stack changes
...
Since we support "nested compositors"[0] we were not finalizing the pads_infos
and thus not releasing the mixer pad on stack change, meaning that
the following stacks were never prerolling.
[0] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2094
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3738 >
2023-01-17 20:10:19 +00:00
Thibault Saunier
3065608730
ges: Fix issues avoiding to use operator
when unavailable on mixer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3738 >
2023-01-17 20:10:19 +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
Sebastian Dröge
79e8d2c03e
avvidenc: Offset PTS to zero to fix bitrate control
...
Otherwise ffmpeg's rate control algorithm will not work correctly as
it is based on the absolute PTS values.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/91
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3718 >
2023-01-13 17:18:38 +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
Olivier Crête
c593930055
rtopuspay: Use GstStaticCaps to cache parsed caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3674 >
2023-01-12 18:48:35 -05:00
Olivier Crête
46a6f72f03
rtopuspay: Ignore the stereo parameter in multiopus caps
...
Also add unit tests for the various variants
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3674 >
2023-01-12 18:48:35 -05:00
Olivier Crête
f1cf457811
rtpopuspay: Leave original caps as-is
...
This should make it work if someone specifies stereo with MULTIOPUS
somehow.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3674 >
2023-01-12 18:48:35 -05:00
Olivier Crête
c52c66b575
rtpopuspay: Return upstream channel filter based on OPUS vs MULTICAPS
...
Only allow 1 or 2 channels if the caps are OPUS, or 3+ if they are
MULTIOPUS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3674 >
2023-01-12 18:48:35 -05:00
Olivier Crête
c51ae6112d
rtpopus: Put MULTIOPUS in all caps
...
The RTP payload encoding-name are always in caps in GStreamer.
In SDP, they are not case-sensitive, but since caps are, we need to pick
a caps, and we picked upper-case along time ago.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3674 >
2023-01-12 18:48:35 -05:00
Sebastian Dröge
085e6c036a
android: Update minimum SDK version to Android 21
...
Otherwise we can't bump the minimum version of the cerbero build without
it breaking linking of the applications.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3717 >
2023-01-12 20:11:14 +00:00
Seungha Yang
434337c3e1
d3d11memory: Fix potential crash in GstD3D11PoolAllocator
...
Allocator object can be the final refcount holder, when a GstD3D11Memory
is being released. Do unref allocator once there's no more
remaining operation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3715 >
2023-01-12 19:26:41 +00:00
Seungha Yang
fdc3ee97ae
d3d11memory: Remove GstD3D11PoolAllocator::dispose
...
Clear GstD3D11Device object in finalize method as well
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3715 >
2023-01-12 19:26:41 +00: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
4f0abc32e7
gst-plugins-ugly: update translations
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1575
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3711 >
2023-01-11 19:20:17 +00:00
Tim-Philipp Müller
a55bda139a
gst-plugins-bad: 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
146575fa61
gst-plugins-good: 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
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
14e619158f
gstreamer: 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
Nirbheek Chauhan
41ac00c373
docs: Need to use versioned paths on macOS
...
Especially with pkg-config, it needs to be called with the right path
otherwise it might not pick up the prefix correctly.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1677
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3706 >
2023-01-10 20:20:19 +00:00
Seungha Yang
9a6b9e274a
meson: gst-plugins-bad: Disable spammy MSVC warning
...
warning C5051: attribute 'noinline' requires at least '/std:c++20';
ignored
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3705 >
2023-01-11 03:23:57 +09: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
Sebastian Dröge
bd91768692
mxfmux: Add all local tags to the primer
...
No matter if they're allocated via GSlice or malloc(). The allocator is
completely irrelevant, all local tags need to be in the primer so they
can be handled.
This didn't have any effect in practice because all local tags that
appear in the muxer are allocated via GSlice. Only from the demuxer they
might be allocated via malloc().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3699 >
2023-01-10 11:10:10 +00:00
Marek Vasut
d43ee08f13
jpegdec: Disable libjpeg-turbo SIMD acceleration support for now
...
The libjpeg-turbo SIMD acceleration support suffers from multiple
unresolved cornercases. Disable the libjpeg-turbo for now until
those cornercases are resolved.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3694 >
2023-01-10 00:32:38 +00:00
Guillaume Desmottes
f7e1505a5e
libav: avaudec: display flow return name instead of value
...
More convenient to read in logs. gstavviddec already does it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3700 >
2023-01-09 13:25:05 +01: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
Philippe Normand
f532ea6627
av1enc: Add property for controlling max distance between 2 keyframes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2743 >
2023-01-08 18:51:55 +00:00
Yatin Mann
59529ae918
aom: av1enc: Expose more properties
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2743 >
2023-01-08 18:51:54 +00:00
yatinmaan
5cb04de96a
aom: av1enc: Remove redundant enum variants from header
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2743 >
2023-01-08 18:51:54 +00:00
Yatin Mann
cbc7334d93
aom: av1enc: Ensure that input pts is strictly increasing
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2743 >
2023-01-08 18:51:54 +00:00
Yatin Mann
cfcd2aac67
aom: av1enc: Fix pts unit
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2743 >
2023-01-08 18:51:54 +00:00
ekwange
beccaf31ef
dfbvideosink: Fix compile error
...
Fix some compile errors
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3670 >
2023-01-08 03:49:03 +00:00
Olivier Crête
af315967da
webrtc nice: Let libnice handle STUN/TURN DNS resolution
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3676 >
2023-01-07 16:03:23 +00:00
Olivier Crête
069eeeb5c3
webrtc: Change requirement to libnice 0.1.20
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3676 >
2023-01-07 16:03:23 +00:00
Sebastian Dröge
5f2989d5a1
rtspclientsink: Add publish-clock-mode
property
...
This allows modifying the behaviour how/if the pipeline clock is
published according to RFC7273, similar to the same API on
`GstRTSPMedia`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3581 >
2023-01-07 00:40:44 +00:00
Sebastian Dröge
ce50e13e28
rtspclientsink: Fix docs for various properties
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3581 >
2023-01-07 00:40:44 +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
Rodrigo Bernardes
28f7a0ed2e
dvbbasebin: don't rely on g_key_file_get_(integer|uint64) return
...
instead check if an error was returned, and fail if any
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3688 >
2023-01-05 12:51:28 +00:00
Jan Schmidt
023c67e166
hlsdemux: Consider starting stream time in presentation offset
...
When calculating the presentation offset for CMAF input in live
playback, subtract the stream_time of the fragment from the
calculated presentation offset, so that the first fragment
is played at running time zero.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3680 >
2023-01-05 07:08:16 +00:00
Olivier Crête
b7c0e8bc84
webrtc examples: Force regular non-MULTIOPUS
...
Using MULTIOPUS breaks with most browsers
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3675 >
2023-01-04 12:02:25 +00:00
Olivier Crête
c7bc6bc064
webrtc-unidirectional: Avoid critical
...
Don't unref the parameter passed to a signal, it's always owned by
the caller. Fixes a GLib critical.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3675 >
2023-01-04 12:02:25 +00: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
bd534af999
ges: gst_bin_add() is transfer floating
so wrappers around it are too
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3678 >
2023-01-04 10:22:45 +00:00
Olivier Crête
f45cfe0d53
srt: Avoid crash on unknown option
...
Use the correct field that is null instead of the struct value which
never is.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3672 >
2023-01-04 02:45:51 +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
Xavier Claessens
5ff5f9fd5b
qroverlay: Add qrcode-case-sensitive property
...
This allows to encode case sensitive strings, like wifi SSID/password.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3662 >
2023-01-03 19:40:20 +00:00
Sebastian Dröge
50db59449e
avvidenc: Set timebase in the ffmpeg context to nanoseconds and set framerate
...
As we now actually use the timestamps from ffmpeg for timestamping the
output we would lose a lot of accuracy if the framerate is used.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1544
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3634 >
2023-01-03 16:46:14 +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
He Junyan
1eeea942de
h265decoder: Fix a memory leak because of slice header.
...
The gst_h265_slice_hdr_free() should free the slice header just
parsed, not the priv->current_slice. Or, the memory leak will
happen because we do not free the slices in priv->nalu list.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3671 >
2023-01-03 17:28:18 +08:00
Tim-Philipp Müller
4d335eb667
subprojects: libffi: pin to meson-3.2.9999.4 tag
...
In case we want to change the 'meson' branch over
to the re-done meson port based on upstream libffi
in future.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3666 >
2022-12-31 13:49:17 +00:00
مهدي شينون (Mehdi Chinoune)
8d5ac30955
meson: Accept latest version of opencv 4.x
...
We've been bumping along the maximum opencv 4.x version for years,
just accept all opencv versions till someone reports breakage.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1680
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3664 >
2022-12-30 17:10:12 +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
Philippe Normand
8ec82f9363
event: Fix gst_event_parse_stream_collection annotation
...
The output parameter ownership is passed to the caller.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3659 >
2022-12-29 18:16:31 +00:00
Nirbheek Chauhan
92b9c604c4
meson: Add an option to select the method for finding Qt
...
This is needed by Cerbero, since we want to force the use of qmake to
find Qt on non-Linux platforms.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3628 >
2022-12-29 09:53:17 +00: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
Philippe Normand
3f3bd70687
tests: gstelement: Fix test_add_pad_while_paused flakiness
...
`gst_element_remove_pad()` doesn't automatically deactivate the pad, it has to
be done explicitly beforehand, otherwise the pad task might be left dangling,
exposed to undefined behaviour.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3653 >
2022-12-28 17:42:31 +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
Seungha Yang
ce2c294117
gtkbasesink: Fix widget leak
...
gst_gtk_base_sink_get_widget() will increase refcount and it should
be released after use
Fixing regression introduced by the commit
941c0e81dd
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3644 >
2022-12-28 09:14:59 +00:00
Alicia Boya García
15caeb4ac9
gstelement: fix deadlock in gst_element_add_pad() when >=PAUSED
...
gst_element_add_pad() is supposed to activate the pad if the element
state is >= PAUSED and the pad is not already active.
Unfortunately, before this patch, the activation was performed while the
element lock was still taken, which ended causing a deadlock in
gst_pad_start_task() as it attempted to post `stream-status` message in
the element, which also requires the element lock.
Elements could work around this bug by activating the pad manually
before adding it to the element.
This patch fixes the problem by performing pad activation only after the
element lock has been released.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3635 >
2022-12-27 20:31:10 +00:00
Seungha Yang
6540c4e89c
rtspsrc: Fix string leak
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3645 >
2022-12-28 04:39:18 +09:00
Seungha Yang
9b305df1cc
rtptimerqueue: Fix memory leak
...
Should chain up to parent's finalize
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3645 >
2022-12-27 19:31:16 +00:00
Seungha Yang
aba7f7c7eb
vajpegdec: Set maybe-leaked flag on template caps
...
The fixup function could return new caps object
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3642 >
2022-12-27 17:15:20 +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
Mart Raudsepp
3fa4ff0562
multiqueue: Fix potential deadlock with parallel release_pad calls
...
Commit d3a66f9851
introduced a potential deadlock with two parallel release_pad
calls, where one could release the main multiqueue lock (qlock) while still
holding the reconf_lock and then calling other routines which in some conditions
may try to acquire qlock again. The second release_pad could already acquire the
qlock and then start waiting on reconf_lock, which may never be possible because
because the first one isn't releasing it until it can acquire qlock.
Fix it by holding reconf_lock for the whole durationg of qlock, making this
particular deadlock impossible.
Fixes #1642
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3571 >
2022-12-23 13:08:54 +00:00
Philippe Normand
72884f141c
webrtcbin: Support for setting kind attribute on RTCRtpStreamStats
...
The attribute maps the `kind` property of the associated transceiver.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3630 >
2022-12-22 21:35:51 +00:00
Seungha Yang
af3311c1d6
d3d11memory: Fix typo in vfunc name
...
s/set_actvie/set_active/g
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3627 >
2022-12-23 01:03:41 +09:00
Seungha Yang
040473f295
nvcudaenc: Don't use default CUDA stream
...
Set non-default CUDA stream via NvEncSetIOCudaStreams() if possible,
so that NVENC's internal kernel function can run on the given CUDA
stream instead of default CUDA stream
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3615 >
2022-12-22 15:01:52 +00:00
Patricia Muscalu
d752bf1b46
qtmux: Fix buffer leak in fragment_buffers
...
When pushing buffers from one of the sink pads fail,
make sure that all buffers added to fragment_buffers on other pads
are freed as well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3624 >
2022-12-22 14:11:10 +00:00
Mathieu Duponchelle
194dcd91e0
qtmux: For video with N/1001 framerates use N as timescale instead of centiframes
...
This is recommended by various specifications for such framerates, while
for integer framerates we continue using centiframes to allow for some
more accuracy.
Using N means that no rounding error accumulates, eventually leading to
outputting a packet with a different duration.
Some tools such as MediaInfo determine that a stream is variable
framerate if any packet has a different duration than the others, and
there is no reason I can see for not using the full 4 bytes of
resolution that the mp4 timescale offers.
Example problematic pipeline:
```
videotestsrc num-buffers=5001 ! video/x-raw,framerate=60000/1001,width=320,height=240 ! \
videoconvert ! x264enc bitrate=80000 speed-preset=1 tune=zerolatency ! h264parse ! \
video/x-h264,profile=high-10 ! mp4mux ! filesink location="result2.mp4"
```
This results in a media file that MediaInfo detects as variable
framerate because the 5000th packet has duration 99 instead of 100.
With this patch, the timescale is 60000 and all packets have duration
1001.
Related issue for context: https://bugzilla.gnome.org/show_bug.cgi?id=769041
Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3049 >
2022-12-22 12:31:06 +02:00
Evgeny Pavlov
9598ec6d95
amfcodec: add support of AMF AV1 encoder
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3569 >
2022-12-21 19:23:24 +00:00
Seungha Yang
15b2cd6565
cudabasetransform: Update CUDA stream on context update
...
CUDA stream must be associated with updated CUDA context
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3618 >
2022-12-21 16:18:36 +00:00
He Junyan
ad0ba3ab7d
va: Delay the VAProcPipelineCaps query after context created.
...
The VAAPI vaQueryVideoProcPipelineCaps() requires the context as the
parameter. So far, we always pass VA_INVALID_ID and it can succeed.
But the API does not say that and in theory, a valid context is required.
Now the new platform really needs a valid context and so we have to
delay that query until the context is created.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3613 >
2022-12-21 14:31:23 +00:00
Jan Schmidt
e2cd5b1660
qmlglsrc: Handle HiDPI scaling
...
When calculating the capture framebuffer size, include
any device scaling applied to the rendered framebuffer
Fixes only capturing part of the window when there is
a global scale factor.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3612 >
2022-12-21 12:21:32 +00:00
Jan Schmidt
d3c85b4d19
qmlglsrc: Unmap buffer before adding sync meta
...
Adding a sync meta to a GstBuffer requires that it
be writable. Mapping the buffer with the video frame API
holds an extra ref on the buffer, so unmap before
trying to modify it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3612 >
2022-12-21 12:21:32 +00:00
Jan Schmidt
2b09f7a006
qmlglsrc: Stop when basesrc calls unlock()
...
Instead of stopping capture when the state changes,
handle other cases of basesrc stopping capture by - such
as handling an EOS event - by implementing an unlock()
method
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3612 >
2022-12-21 12:21:32 +00:00
Hiero32
7050b00c10
fdsrc,fdsink: Set binary mode on FD
...
Default mode of STD handles on Windows is text mode, and OS will
insert CRLF sequence by default.
Co-authored-by: Seungha Yang <seungha@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3070 >
2022-12-21 06:34:15 +00:00
Hiero32
a29a1b21c3
coreelements: Use G_OS_WIN32 macro
...
* HAVE_WIN32 is not defined elsewhere
* Enables fdsrc/fdsink for MinGW build as well
Co-authored-by: Seungha Yang <seungha@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3070 >
2022-12-21 06:34:15 +00:00
Seungha Yang
14062c06a6
nvdecoder: Use own CUDA stream in GL output path
...
Use the same CUDA stream passed to CuvidMapVideoFrame()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3611 >
2022-12-20 17:14:10 +00: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
Sebastian Dröge
1cbb145c50
avviddec: Disable AV1 decoder
...
We have various elements for AV1 decoding, the ffmpeg one only works if
hardware support is available and seems to require special signalling.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3610 >
2022-12-20 14:10:01 +02:00
Sebastian Dröge
c739fcbe41
examples: webrtc: Add handling of the LATENCY messages to the Rust examples
...
Without this the configured latency on the pipeline will be wrong.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3609 >
2022-12-20 13:10:27 +02:00
Sebastian Dröge
284d22437e
examples: webrtc: Update dependencies
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3609 >
2022-12-20 13:06:43 +02:00
Sebastian Dröge
ec6290d63f
examples: webrtc: Remove the bus watch at the end
...
Otherwise a file descriptor will be leaked.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3609 >
2022-12-20 13:03:44 +02:00
Sebastian Dröge
1f4f338d85
examples: webrtc: Add handling of the LATENCY messages to the C examples
...
Without this the configured latency on the pipeline will be wrong.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3609 >
2022-12-20 13:03:15 +02:00
Sebastian Dröge
d10981f7b9
examples: webrtc: Add bus handling to the Android and C sendrecv examples
...
Without a bus, messages will just pile up and errors are not handled at
all. Also without handling the LATENCY messages the latency configured
on the pipeline will be wrong.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3609 >
2022-12-20 13:02:08 +02:00
Seungha Yang
9914ff9b4c
nvdec: Don't use default CUDA stream
...
NVDEC launches CUDA kernel function (ConvertNV12BLtoNV12 or so)
when CuvidMapVideoFrame() is called. Which seems to be
NVDEC's internal post-processing kernel function, maybe
to convert tiled YUV to linear YUV format or something similar.
A problem if we don't pass CUDA stream to the CuvidMapVideoFrame()
call is that the NVDEC's internel kernel function will use default CUDA stream.
Then lots of the other CUDA API calls will be blocked/serialized.
To avoid the unnecessary blocking, we should pass our own
CUDA stream object to the CuvidMapVideoFrame() call
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3605 >
2022-12-19 20:27: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
Nirbheek Chauhan
0008ccb5d9
docs: Update iPhoneOS deployment target to 11.0
...
https://gitlab.freedesktop.org/nirbheek/cerbero/-/jobs/33292703
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3599 >
2022-12-19 03:27:35 +00:00
Nirbheek Chauhan
714bd95497
meson: Update lame to -7 which contains the def file fix
...
Continuation from https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3579
See: https://github.com/mesonbuild/wrapdb/pull/835
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3598 >
2022-12-19 01:43:08 +05:30
Edward Hervey
f18186b5dc
mpegts: Always clear packetizer on DISCONT push mode
...
If a discontinuity is detected in push mode, we need to clear the cached section
observations since they might have potentially changed.
This was only done properly when operating with TIME segments (dvb, udp,
adaptive demuxers, ...) but not with BYTE segments (such as with custom app/fd
sources).
We still don't want to flush out the PCR observations, since this might be
needed for seeking in push-based BYTE sources.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1650
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3584 >
2022-12-18 18:50:19 +00:00
Seungha Yang
3fa6651d91
subprojects: lame: Back to lame_3.100-5
...
Partial revert of the commit of fc22bb8794
It causes DLL loading failure on Windows. Reverting it for now until
it's fixed in upstream wrapdb
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3579 >
2022-12-18 12:06:17 +00:00
Sebastian Dröge
9c0d9882e3
gst-integration-testsuites: Update cenc_audio_esds_property_overrides expected output file
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3586 >
2022-12-17 19:30:51 +02:00
Sebastian Dröge
066558cba1
qtdemux: Always use tfdt
if available in BYTE segments
...
This reverts the decision from
https://bugzilla.gnome.org/show_bug.cgi?id=754230
where it was decided that we rather play safe and only use the `tfdt` if
it is "significantly different" to the sum of sample durations.
As the specification says
If the time expressed in the track fragment decode time (‘tfdt’) box
exceeds the sum of the durations of the samples in the preceding
movie and movie fragments, then the duration of the last sample
preceding this track fragment is extended such that the sum now
equals the time given in this box.
we have to use the `tfdt` in general to allow for it to signal gaps in
the stream.
A muxer producing fragments might not yet know the full duration of the
last sample of a previous fragment if the next fragment starts with a
gap, and knowing the actual start of the next fragment would potentially
require to violate latency requirements.
Additionally, the existence of `tfdt` allows to avoid accumulating
rounding errors from summing up the durations.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3586 >
2022-12-17 19:26:19 +02:00
Mathieu Duponchelle
f8b732563b
basesrc: respect FIXED_CAPS flag in caps query implementation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3590 >
2022-12-17 12:04:49 +00:00
Seungha Yang
7c92ed0bd0
d3d11videosink: Fixing focus lost on desktop layout change
...
Watch all message on the window thread, instead of internal window only.
Otherwise, some global window messages, such as desktop layout change,
wouldn't be handled by our window.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3593 >
2022-12-17 11:17:28 +00:00
Nirbheek Chauhan
331a367f19
meson: Add a patch that fixes pangocairo usage in gst-plugins-rs
...
Also remove an unused patch.
https://gitlab.gnome.org/GNOME/pango/-/merge_requests/665
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3592 >
2022-12-17 07:37:03 +05:30
Nirbheek Chauhan
984b8816d5
macos-bison-binary: Remove warning when running on arm64
...
The x86_64 bison works fine out of the box.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3589 >
2022-12-16 23:58:07 +00:00
Nirbheek Chauhan
b3806da265
avfvideosrc: Report latency when doing screen capture
...
There is no `device` when doing screen capture, but there is always an
`input`, so use that to decide when we can reply to a latency query.
Without this, the latency query just fails.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3589 >
2022-12-16 23:58:07 +00:00
Victor Manuel Jaquez Leal
171a626c6c
vaav1dec: Remove double caps unref.
...
There was a duplicated caps unref raising a warning.
Also it reorgs the sorrounding code for simplicity.
Fixes : #1196
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3587 >
2022-12-16 19:18:25 +00:00
Seungha Yang
068a5c1053
d3d11videosink: Move potentially time-consuming operations to ::prepare()
...
Move following tasks to ::prepare() from ::show_frame()
* CPU -> GPU upload
* GstD3D11Window object setup, including input caps change handling
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3574 >
2022-12-17 02:11:07 +09:00
Seungha Yang
04451b108a
d3d11videosink: Call ShowWindow() from window thread
...
... when rendering on external HWND. ShowWindow() will cause
synchronous message passing to window thread and then can be blocked.
At the same time, window thread can wait for GStreamer thread.
Instead of the synchronous call, queue the task to window message
and performs from the window thread.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3583 >
2022-12-16 22:18:14 +09:00
Seungmin Kim
0db1ff532d
Change GstSdp.sdp_message_parse_buffer to GstSdp.SDPMessage.new_from_text in examples
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3477 >
2022-12-16 10:40:41 +00:00
A. Wilcox
412eaf3526
tests: Cast drop-messages-interval type properly
...
The rtpjitterbuffer test drop_messages_interval uses a GstClockTime for
the message drop interval. This property is defined as a guint. On
systems with 64-bit time_t but 32-bit uint, this can cause the
g_object_set function to fail to read the arguments properly.
Fixes : #1656
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3580 >
2022-12-16 01:36:07 -06:00
Seungha Yang
a27c5c81df
d3d11videosink: Fix deadlock when parent window is busy
...
Deadlock sequence:
* From a streaming thread, d3d11videosink sends synchronous message
to the parent window, so that internal (child) window can be
constructed on the parent window's thread
* App thread (parent window thread) is waiting for pipeline's
state change (to GST_STATE_NULL) but streaming thread is
blocked and waiting for app thread
To avoid the deadlock, GstD3D11WindowWin32 should send message
to the parent window asynchronously.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3570 >
2022-12-15 17:37:48 +00: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
Hosang Lee
04dc8e2484
gst: handle combinations in gst_stream_type_get_name()
...
This should handle the majority of the valid stream cases.
The element setting the stream type may set each type separately.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2804 >
2022-12-14 15:22:08 +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
Xabier Rodriguez Calvar
87ae60176b
qtdemux: Clear protection events when we get new ones
...
If we keep the old events they can be end up being passed to the app, that could
discard the protection information because it has been seen before.
Drive by improvement: use g_queue_clear_full instead of foreach+clear for
protection events.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3547 >
2022-12-14 11:01:23 +01:00
Matthew Waters
993bc8fc01
webrtc: implement support for msid values
...
Local msid values are taken from sink pad property, or fallback to the
previously used cname.
The remote msid values are exposed on the relevant src pads.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3106 >
2022-12-14 12:23:32 +11:00