Jan Alexander Steffens (heftig)
62791bfb47
livesync: Clean up state handling
...
- Separate resetting state more cleanly, introducing `set_flushing`,
`sink_reset` and `src_reset`.
- Clear the queue early when we flush, in order to unblock waits on
query responses.
- Return an error when we fail to start, pause or stop the task.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1369 >
2023-10-25 11:52:40 +02:00
Jan Alexander Steffens (heftig)
d663f708ef
livesync: Log a category error when we are missing the segment
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1369 >
2023-10-25 11:52:40 +02:00
Jan Alexander Steffens (heftig)
6567041a3d
livesync: Improve audio duration fixups
...
- An entirely missing duration is now only logged at debug level instead
of pretending the duration was zero and warning about it.
- Silently fix up a duration difference up to one sample.
- Error when we fail to calculate the duration; don't try to apply the
`fallback_duration` to a non-video stream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1369 >
2023-10-25 11:52:40 +02:00
Jan Alexander Steffens (heftig)
0a45f776e0
livesync: Simplify start_src_task and src_loop
...
This should effect no change in behavior.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1369 >
2023-10-25 11:03:15 +02:00
Jan Alexander Steffens (heftig)
01386b8451
livesync: Rename activatemode methods to *_activatemode
...
This matches the other plugins.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1369 >
2023-10-25 11:03:14 +02:00
Arun Raghavan
d27a04e067
hlssink3: Close the playlist giostreamsink on stop if possible
...
This is a property that will be available from GStreamer 1.24, and will
ensure that we are able to flush the playlist during the READY->NULL
transition instead of when the element is freed.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/423
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1360 >
2023-10-24 21:03:14 +00:00
Arun Raghavan
a49a5dcb11
s3: tests: Remove emoji-based tests for now
...
These break hotdoc, which we need to fix first.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1333 >
2023-10-24 12:52:12 -04:00
Arun Raghavan
bb26e04a55
aws: s3: Properly percent-decode GstS3Url
...
We previously only percent-decoded the first fragment. This doesn't
necessarily harm anything, but for consistency we keep the structure
un-encoded, and encode when converting to a string representation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1333 >
2023-10-24 12:52:12 -04:00
Arun Raghavan
51129febeb
aws: s3sink: Fix handling of special characters in key
...
Properly URL-encode the string if needed, and add some tests for a
couple of cases.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/431
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1333 >
2023-10-24 12:52:12 -04:00
Sebastian Dröge
829469d0fe
rtpav1depay: Don't push stale temporal delimiters downstream
...
Only push them downstream once a complete OBU was assembled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1367 >
2023-10-24 11:13:35 +00:00
Sebastian Dröge
1f5e9a9335
rtpav1depay: Skip unexpected leading fragments
...
If a packet is starting with a leading fragment but we do not expect to
receive one, then skip over it to the next OBU.
Not doing so would cause parsing of the middle of an OBU, which would
most likely fail and cause unnecessary warning messages about a
corrupted stream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1367 >
2023-10-24 11:13:35 +00:00
Sebastian Dröge
b1894a0acb
deny: Remove unnecessary ignore entry
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1368 >
2023-10-24 09:55:54 +03:00
Sebastian Dröge
73ff822d24
Update to quick-xml 0.31
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1368 >
2023-10-24 09:55:50 +03:00
Jordan Petridis
a2d7f42138
Fix compilation after glib bindings changes
...
loggable_error! can now expand variables and we no longer need
the format! on our side.
https://github.com/gtk-rs/gtk-rs-core/pull/1210
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1366 >
2023-10-22 01:20:56 +03:00
Nirbheek Chauhan
895ee1d00b
ci: Make meson warnings fatal
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1364 >
2023-10-18 18:49:02 +05:30
Nirbheek Chauhan
235e609eff
meson: Bump requirement to 1.1
...
WARNING: Project specifies a minimum meson_version '>= 0.60' but uses features which were added in newer versions:
* 1.1.0: {'feature_option.enable_if()'}
Caused by https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1363
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1364 >
2023-10-18 18:07:50 +05:30
Nirbheek Chauhan
84b0dd8980
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/1363 >
2023-10-18 14:47:16 +05:30
Nirbheek Chauhan
c4a788b97b
.gitignore: Ignore the meson subproject wrap hash
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1363 >
2023-10-18 14:47:16 +05:30
Olivier Crête
a946895fad
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/1293 >
2023-10-18 10:31:14 +03:00
Sebastian Dröge
2ce04c6a78
webrtc: Update to livekit 0.2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1293 >
2023-10-18 10:30:59 +03:00
Sebastian Dröge
aacfe546d5
deny: Update for duplicated redox_syscall dependency
2023-10-18 10:25:27 +03:00
Sebastian Dröge
d468e1e4a6
Clean up usage of pad probes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1361 >
2023-10-17 08:44:06 +03:00
François Laignel
50dd519c4f
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/1324 >
2023-10-12 17:38:09 +00:00
François Laignel
785c9557c8
net/webrtcsink: drop State lock before calling set-local-description
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1325 >
2023-10-12 15:45:58 +00:00
François Laignel
c021e2b69f
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/1325 >
2023-10-12 15:45:58 +00:00
Sebastian Dröge
42008fb895
aws: Update to test-with 0.11
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1358 >
2023-10-12 06:57:28 +00:00
Lieven Paulissen
05aa9fa431
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/1357 >
2023-10-12 09:12:02 +03:00
François Laignel
022afa6375
ndi: use v210 encoding for cc and attach to video frame
...
The NDI closed captions specifications [1] define a variation where metadata is
attached to the video frame. This requires the AFD buffer to be v210 encoded.
This commit applies this strategy.
Another difference with previous version is that when an error occurs while
encoding or decoding a meta, next meta are also tried instead of failing
immediately.
Receiving closed captions as a standalone metadata is kept for interoperability
purposes. In this case, metadata is also expected to be v210 encoded.
[1]: http://www.sienna-tv.com/ndi/ndiclosedcaptions.html
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1356 >
2023-10-11 21:25:29 +02:00
Maksym Khomenko
5b03f7d7b0
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/1355 >
2023-10-11 11:54:51 +03:00
Sebastian Dröge
3fc6220009
Update to AWS SDK 0.33
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1354 >
2023-10-09 11:28:05 +03:00
Taruntej Kanakamalla
245185d2f6
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/1351 >
2023-10-06 13:11:46 +00:00
Maksym Khomenko
e4096b5157
webrtcsink: README: add documentation for custom signaller
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1340 >
2023-10-06 12:58:04 +03:00
Maksym Khomenko
a9719cada2
webrtcsink: add custom signaller example
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1340 >
2023-10-06 12:58:03 +03:00
Sebastian Dröge
1c4833bc5d
Update to AWS SDK 0.32
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1352 >
2023-10-06 09:11:17 +03:00
Sebastian Dröge
3343fd9813
Update CHANGELOG.md for 0.11.1
2023-10-04 23:56:23 +03:00
Sebastian Dröge
41a6075fb5
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.
2023-10-04 19:00:08 +03:00
Sebastian Dröge
5ac3162fca
deny: Remove unnecessary toml_edit exception
2023-10-04 18:57:17 +03:00
Sebastian Dröge
85c46ede5b
ci: Run cargo-deny on the whole workspace with all features enabled
2023-10-04 18:56:50 +03:00
Stéphane Cerveau
68c2d27e8d
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/1348 >
2023-10-04 12:47:15 +02:00
Sebastian Dröge
4569b7eca6
Fix various new 1.73 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1347 >
2023-10-03 17:47:30 +03:00
Sebastian Dröge
d57b83fa08
threadshare: Fix docs typos
2023-10-03 11:13:07 +03:00
Sebastian Dröge
747d9bfc6e
Update plugins cache for updated raw video caps
2023-10-03 11:12:39 +03:00
François Laignel
a1ad3379ca
generic: threadshare: macOS fixes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1344 >
2023-10-02 15:09:26 +02:00
Sebastian Dröge
450ffbe452
Update for VideoFrame
/ GLVideoFrame
API changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1345 >
2023-10-02 13:25:25 +03:00
Sebastian Dröge
95581d7fbc
deny: Update with some new overrides
2023-10-02 09:29:39 +03:00
François Laignel
436798b360
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/1336 >
2023-10-01 17:45:29 +02:00
Piotr Brzeziński
fe4273ca2a
webrtc: Fix paths in README
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1342 >
2023-09-29 17:05:29 +02:00
Sebastian Dröge
980dd74852
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/1341 >
2023-09-29 12:05:07 +00:00
Sebastian Dröge
6159f299be
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/1341 >
2023-09-29 12:05:07 +00:00
Philippe Normand
4d9263f932
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/1231 >
2023-09-28 17:58:38 +02:00