Commit graph

2815 commits

Author SHA1 Message Date
Nirbheek Chauhan
4e7b3e35a3 meson: Enable the RTP option when WebRTC is enabled
And make the webrtc option yielding, see:

https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5505

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1388>
2023-11-10 15:54:39 +02:00
Nirbheek Chauhan
cc174bd382 .gitignore: Ignore the meson subproject wrap hash
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1388>
2023-11-10 15:54:33 +02:00
Olivier Crête
b245afbd2d Revert "deny: Temporarily allow a duplicated tungstenite dependency"
LiveKit has now been fixed.

This reverts commit 23e1bfa720.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1388>
2023-11-10 15:54:27 +02:00
Sebastian Dröge
bf48e76b59 webrtc: Update to livekit 0.2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1388>
2023-11-10 15:54:20 +02:00
Sebastian Dröge
4a53938b75 deny: Update for duplicated redox_syscall dependency
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1388>
2023-11-10 15:54:15 +02:00
Sebastian Dröge
880f4229d0 Clean up usage of pad probes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1388>
2023-11-10 15:52:18 +02:00
François Laignel
9fd9f0eb83 net/webrtcsrc: define signaller property as CONSTRUCT_ONLY
The "signaller" property used to be defined as MUTABLE_READY which meant that
the property was always set after `constructed()` was called.

Since `connect_signaller()` was called from `constructed()`, only the default
signaller was used.

This commit sets the "signaller" property as CONSTRUCT_ONLY. Using a builder,
this property will now be set before the call to `constructed()`.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1388>
2023-11-10 15:51:32 +02:00
François Laignel
ff4b1cb757 net/webrtcsink: drop State lock before calling set-local-description
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1388>
2023-11-10 15:51:15 +02:00
François Laignel
6dc624ac2f net/webrtcsink: don't miss ice candidates
During `on_remote_description_set()` processing, current session is removed
from the sessions `HashMap`. If an ice candidate is submitted to `handle_ice()`
by that time, the session can't be found and the candidate is ignored.

This commit wraps the Session in the sessions `HashMap` so an entry is kept
while `on_remote_description_set()` is running. Incoming candidates received by
`handle_ice()` will be processed immediately or enqueued and handled when the
session is restored by `on_remote_description_set()`.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1388>
2023-11-10 15:51:10 +02:00
Sebastian Dröge
f5d6d703c5 aws: Update to test-with 0.11
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1388>
2023-11-10 15:51:03 +02:00
Lieven Paulissen
56095c5434 ndisrc: Assume input with more than 8 raw audio channels is unpositioned
gst_audio_channel_positions_from_mask() will otherwise print warnings
all the time.

Fixes #444

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1388>
2023-11-10 15:50:59 +02:00
Maksym Khomenko
2c923128dc webrtcsrc: use @watch instead of @to-owned
@to-owned increases refcount of the element, which prevents the object from proper destruction, as the initial refcount with ElementFactory::make is larger than 1.

Instead, use @watch to create a weak reference and unbind the closure automatically if the object gets destroyed

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1388>
2023-11-10 15:50:53 +02:00
Sebastian Dröge
36273c0eae Update to AWS SDK 0.33
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1388>
2023-11-10 15:50:47 +02:00
Taruntej Kanakamalla
7bfb86c6cc net/webrtc/whip_signaller: Use the correct URL during redirect
Copy of 90e06dc3 for whipclientsink

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1388>
2023-11-10 15:50:42 +02:00
Maksym Khomenko
aabbe49dc3 webrtcsink: README: add documentation for custom signaller
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1388>
2023-11-10 15:50:36 +02:00
Maksym Khomenko
569dfadcab webrtcsink: add custom signaller example
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1388>
2023-11-10 15:50:29 +02:00
Sebastian Dröge
107c610bb0 Update to AWS SDK 0.32
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1388>
2023-11-10 15:50:23 +02:00
Philippe Normand
f853fa3bc7 audiornnoise: Attach audio level meta to output buffers
This is useful downstream for processing of audio voice payloads, for
instance feeding a speech recognition library such as Whisper.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1353>
2023-10-09 12:07:45 +03:00
Sebastian Dröge
b78269285b ci: Don't run cargo update
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1353>
2023-10-09 12:07:05 +03:00
Sebastian Dröge
e5ccfdbd55 Update plugins versions in Cargo.lock
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1353>
2023-10-09 12:06:23 +03:00
Sebastian Dröge
a2e0853583 Update CHANGELOG.md for 0.11.1 2023-10-04 23:55:55 +03:00
Sebastian Dröge
2b8728103f Update versions to 0.11.1 2023-10-04 23:35:35 +03:00
Sebastian Dröge
b9e8f4cbb3 ndi: Comment out empty Opus handling and add FIXME comment
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:30:49 +03:00
Sebastian Dröge
dce1e3b044 Update plugin documentation cache
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:30:23 +03:00
Sebastian Dröge
4eeff19075 Fix indentation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:19:23 +03:00
Sebastian Dröge
2afa8862a0 Update Cargo.lock
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:16:57 +03:00
Sebastian Dröge
b360b5247e Update gst-plugin-version-helper version requirement to 0.8
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:15:53 +03:00
Sebastian Dröge
9bf24a715b deny: Simplify license handling
Deny all copyleft licenses except for the MPL-2.0 and add an exception
for gst-plugin-threadshare to allow LGPL-2.1.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:10:24 +03:00
Sebastian Dröge
471901e4ca deny: Remove unnecessary toml_edit exception
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:10:19 +03:00
Sebastian Dröge
5c59ba51d5 ci: Run cargo-deny on the whole workspace with all features enabled
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:10:13 +03:00
Stéphane Cerveau
1e22caf6c3 fmp4mux: specify the fragment duration unit
The fragment duration is expressed in nanoseconds.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:10:08 +03:00
Sebastian Dröge
29697dae45 Fix various new 1.73 clippy warnings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:10:02 +03:00
Sebastian Dröge
b89adc88f8 threadshare: Fix docs typos
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:09:57 +03:00
François Laignel
206c3964c8 generic: threadshare: macOS fixes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:09:43 +03:00
Sebastian Dröge
2ea53dd3a4 deny: Update with some new overrides
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:09:35 +03:00
François Laignel
ffb7ea1885 generic: threadshare: port to polling 3.1.0
Also use `rustix` & `std::ffi` instead of `libc`.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:09:11 +03:00
Andoni Morales Alastruey
fcd16bc070 threadshare: fix warning for unused variable
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:08:37 +03:00
Piotr Brzeziński
e792fdbe48 webrtc: Fix paths in README
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:07:14 +03:00
Sebastian Dröge
cd8ab38c09 version-helper: Update version to 0.8.0 and MSRV to 1.66
Previous release was 0.7.5 and 1.63, but toml_edit unfortunately
requires Rust 1.66 at least.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:06:56 +03:00
Sebastian Dröge
d384999b0c version-helper: Also try parsing release date from Cargo.toml
The `package.metadata.gstreamer.release_date` date string can be used to
specify the release date.

This is used if there's no git repository as a fallback before using the
mtime of the Cargo.toml. Using the mtime will fail when building a crate
packaged by cargo because cargo sets the mtimes to bogus values.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/440

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:06:25 +03:00
Sean DuBois
4a1a7864cf net: webrtc/webrtchttp: Respect HTTP redirects
Properly follow redirect URL. Before new request would be made, but with
original URL again.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:06:03 +03:00
Sebastian Dröge
389ab2e46c deny: Remove obsolete entries
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:04:27 +03:00
Sebastian Dröge
a168456428 Update to AWS SDK 0.31
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:04:21 +03:00
Sebastian Dröge
f0f06c4569 Update Cargo.lock
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-25 22:53:30 +03:00
Sebastian Dröge
427f1ec912 ci: Use the 0.21 branch of the gstreamer-rs images template
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-25 22:53:30 +03:00
Sebastian Dröge
a5bcc9099b gtk4: Only support RGBA/RGB in the GL code path
For all other component orderings a shader is necessary to re-order the
components for what GTK expects.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:58:54 +03:00
Ivan Molodetskikh
432782d09a gtk4: Premultiply alpha in GL textures
GTK expects GL textures to have premultiplied alpha. The ones we get
from GStreamer don't, leading to incorrect rendering of semitransparent
frames.

GTK 4.12 gained an API to set a different GL texture format, but it
won't help for older GTK versions. Plus, at the time of writing, it
causes a very slow download/upload path in GTK.

So, use a GTK GL shader node to premultiply the alpha without leaving
the GPU.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:58:49 +03:00
Sebastian Dröge
9187d0e11e onvifmetadataparse: Skip metadata frames with unrepresentable UTC time
Previously we would panic, which causes the element to post an error
message. Instead, simply skip metadata frames if their UTC time since
the UNIX epoch can't be represented as nanoseconds in u64.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:58:43 +03:00
Seungha Yang
468f73092d webrtcsink: Propagate GstContext messages
Implement CustomBusStream so that NEED_CONTEXT and HAVE_CONTEXT
messages from session/discovery can be forwarded to parent
pipeline and also GstContext can be shared.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:58:13 +03:00
Seungha Yang
2b1d07a757 webrtcsink: Add support for d3d11 memory and qsvh264enc
Adding d3d11 memory and qsvh264enc support

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:58:06 +03:00