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