Commit graph

3448 commits

Author SHA1 Message Date
Sebastian Dröge
cfdea1dc68 Fix new Rust 1.81 clippy warnings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1827>
2024-09-28 19:57:11 +03:00
Sebastian Dröge
0d308ed4af uriplaylistbin: Properly check for stream-collection/streams-selected events
There is only a new stream-collection event if the media has actually
changed, and that's also the only time in these tests when a
streams-selected event is sent as the default stream selection is always
used and never changed.

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

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1827>
2024-09-28 14:34:58 +01:00
Sebastian Dröge
9b10aec090 uriplaylistbin: Track actual caller in test assertion functions
Makes it easier to figure out from where it is actually called when the
assertion is failing.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1827>
2024-09-28 14:34:58 +01:00
Sebastian Dröge
2bf8409565 uriplaylistbin: Properly clean up the pipeline on panics/assertions too
Reduces log noise.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1827>
2024-09-28 14:34:58 +01:00
Sebastian Dröge
7b4a2daed0 rtpav1depay: Add wait-for-keyframe and request-keyframe properties
These behave the same as the properties in other depayloaders. Keyframe
detection is based on the N flag in the aggregation header.

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

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1825>
2024-09-28 10:51:05 +01:00
Nick Steel
a19a68d157 spotify: add missing tokio crate feature rt-multi-thread
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1822>
2024-09-26 17:59:24 +01:00
Nick Steel
be7ed6eb09 spotify: depend on librespot-core and librespot-playback only
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1822>
2024-09-26 17:59:24 +01:00
Nick Steel
348618e48c spotify: avoid librespot::discovery dependency
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1820>
2024-09-26 10:37:03 +01:00
Mathieu Duponchelle
8eedd0ac6d webrtcsrc: ensure source pad has msid when added
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1812>
2024-09-26 06:33:44 +00:00
Mathieu Duponchelle
41f75378df webrtcsrc: fix default msid property value
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1812>
2024-09-26 06:33:44 +00:00
Mathieu Duponchelle
bfa2fefa77 Cargo.toml: turn lto off for dev profile
Turning on opt-level=1 is necessary to make things reasonably fast, but
it also turns on lto which since thinlto became enabled by default slows
down compile times by a factor of 2 compared to lto off.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1816>
2024-09-26 01:23:49 +01:00
François Laignel
8f542f084c webrtcsink: fix RFC7273 attributes
RFC7273 related attributes are set in the SDP offer by passing them via the
transceiver `codec-preferences` signal. These attributes are intended to be set
at the media level so they must be prefixed by `a-` in the `Caps` argument to
the signal. Otherwise they end up under `a=fmtp`.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1811>
2024-09-25 11:25:51 +01:00
Guillaume Desmottes
27403129a5 fmp4: use the right DEFAULT constant
Does not really matter as both have the same value but best to have it
right.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1805>
2024-09-24 11:39:50 +00:00
Guillaume Desmottes
8e0a57237e fmp4: examples: hls_live: don't set header-update-mode=update
No need to update the header in live mode.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1804>
2024-09-24 11:34:22 +02:00
Jordan Petridis
b93dbbb0e7 ci: Set build jobs according to FDO_CI_CONCURRENT when available
The CI runners run multiple jobs concurrently, and as such we should
only be building with the number of jobs allocated to us when the
variable is set.

Related to https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1545

Also move the rest of the common flags we pass to cargo together so it's
a bit easier to read.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1797>
2024-09-20 23:59:52 +00:00
Mathieu Duponchelle
9331824479 webrtcsrc: expose MSID property on source pad
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1796>
2024-09-21 00:27:57 +02:00
Sebastian Dröge
acd0a54b4a cea708mux: Fix off-by-one in deciding whether a buffer belongs to this or the next frame
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1790>
2024-09-20 06:33:25 +00:00
Sebastian Dröge
585b6b53d4 cea708mux: Stop with EOS if all pads are EOS instead of continuing forever
Also don't drop buffers if multiple tries are needed for aggregating
because some pads are not ready yet.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1790>
2024-09-20 06:33:25 +00:00
Sebastian Dröge
a3c4ad7015 cea708mux: Don't create a separate source pad and actually push gap events downstream
The aggregator base class is already creating the source pad and the
source pad that was created here internally was never added to the
element at all. As such all gap events pushed on it never went anywhere.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1790>
2024-09-20 06:33:25 +00:00
Jan Schmidt
41cc7ee30b onvifmetadatapay: Set output caps earlier
As soon as input caps arrive, we can set output
caps. This means upstream can send gap events earlier,
before there is any actual metadata to send

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1788>
2024-09-19 14:25:37 +02:00
Sebastian Dröge
b532fdbca0 closedcaption: cea608utils: Avoid overflow when deciding which lines to retain
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1778>
2024-09-19 10:05:14 +02:00
Jerome Colle
18771be680 dav1ddec: add properties for film grain synthesis and in-loop filters
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1771>
2024-09-09 18:29:31 +01:00
Sebastian Dröge
034742e4af mpegtslivesrc: Make sure to use the object as context for all debug logs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1770>
2024-09-09 15:49:08 +01:00
Sebastian Dröge
1a7cf29b04 mpegtslivesrc: Check if old compared to new PCR clock estimation is too far off
It the difference between the two estimations is more than 1s then
consider this a discontinuity too.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1770>
2024-09-09 15:49:08 +01:00
Sebastian Dröge
0758470e68 mpegtslivesrc: Fix order of parameters passed to add_observation()
The first one should be the internal time, i.e. the monotonic clock time
in our case, and the second one the external time.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1770>
2024-09-09 15:49:08 +01:00
Sebastian Dröge
34f85f8d9f mpegtslivesrc: Scale monotonic time on PCR disconts to allow for continuous clock times
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1770>
2024-09-09 15:49:08 +01:00
Sebastian Dröge
59324a3da5 mpegtslivesrc: Set DISCONT flag on buffers at PCR discontinuities
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1770>
2024-09-09 15:49:08 +01:00
Arun Raghavan
b1ea6d2e65 webrtc: Fix whipclientsink name in README
The element name was changed, but the documentation wasn't updated to
match.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1765>
2024-09-04 13:48:06 +01:00
Seungha Yang
2ca2a8e0f6 transcriberbin: Fix passthrough state change
Sync state of child bin appropriately when passthrough is disabled

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1759>
2024-08-30 15:10:31 +00:00
Sebastian Dröge
e6433c5872 meson: Update version to 0.13.1 too 2024-08-30 18:08:40 +03:00
Sebastian Dröge
0bc57b8a0a deny: Update 2024-08-27 21:50:50 +03:00
Sebastian Dröge
79df48c90d deny: Update to new configuration format
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1691>
2024-08-27 21:50:47 +03:00
Sebastian Dröge
553f36cfdb hlssink3: Update to sprintf 0.2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1757>
2024-08-27 21:48:52 +03:00
Sebastian Dröge
9f7984d7ed fmp4: Update to dash-mpd 0.17
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1757>
2024-08-27 21:48:32 +03:00
Sebastian Dröge
6fb68aa1fa Update Cargo.lock 2024-08-27 21:48:16 +03:00
Sebastian Dröge
87cdc125ad Update versions to 0.13.1 2024-08-27 21:33:11 +03:00
Sebastian Dröge
6dcc818305 Update CHANGELOG.md for 0.13.1 2024-08-27 21:32:52 +03:00
Sanchayan Maity
988c58de43 whepsrc: Fix incorrect default caps
add-transceiver needs application/x-rtp caps and not raw caps. We were
providing raw caps which is incorrect.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1756>
2024-08-27 09:51:05 +01:00
Sanchayan Maity
11e5262adb hlssink3: Use fragment duration from splitmuxsink if available
splitmuxsink now reports fragment offset and duration in the
splitmuxsink-fragment-closed message. Use this duration value
for the MediaSegment when available.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1750>
2024-08-26 12:38:09 +00:00
Mathieu Duponchelle
6eac72d78c net/aws: fix sanity check in transcribe loop
When we receive a new alternative we want to avoid iterating out of
bounds, but the comparison between the current index and the length of
the alternative should not log an error when partial_index == length, as
Vec::drain(length..) is valid, and it is completely valid for AWS to
send us a new alternative with as many items as we have already
dequeued.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1752>
2024-08-26 11:52:10 +01:00
Mathieu Duponchelle
88a6b6d428 net/webrtc: Add missing npm command to README
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/589

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1747>
2024-08-23 10:30:18 +00:00
Mathieu Duponchelle
4559b6a9f9 webrtcsink: fix segment format mismatch with remote offer
webrtcsink was starting the negotiation process on Ready and concurrently
moving the consumer pipeline to Playing, but when answering the remote
description was set so fast that input streams were connected (and the time
format set on appsrc) before the state change to Paused had completed.

This meant gst_base_src_start was happening after that and setting the format
back to bytes, the time segment that was next coming in then caused:

basesrc gstbasesrc.c:4255:gst_base_src_push_segment:<video_0> segment format mismatched, ignore

And the consumer pipeline errored out.

The same issue existed in theory when webrtcsink was creating the offer,
but was much harder to trigger as it required that the remote answer
came in before the state change to Paused had completed.

This commit fixes the issue by simply waiting for the state to have
changed to Paused before negotiating.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1738>
2024-08-23 09:30:03 +00:00
Piotr Brzeziński
bd5154ebe4 cmafmux: Add opus support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1742>
2024-08-23 08:11:46 +00:00
Sebastian Dröge
85151a6e4f Fix various 1.80 clippy warnings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1740>
2024-08-23 08:59:20 +03:00
Jordan Petridis
17938477ff ci: Use the windows specific image tags
Followup to c5dfc87953

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1740>
2024-08-22 15:26:35 +00:00
Sebastian Dröge
7d73038e3a livesync: Report latency query results when handling latency query too
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1744>
2024-08-22 10:48:21 +00:00
Jerome Colle
1abe0fd5fe webrtcsink: add nvv4l2av1enc support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1743>
2024-08-22 09:59:22 +00:00
Jordan Petridis
f194d8483b ci: Pin the windows jobs to gstreamer runners for now
There seem to be some seemingly random failures if the
jobs get scheduled on the other windows runners,
and they need to be debugged further.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1741>
2024-08-22 09:13:45 +01:00
Jordan Petridis
33379c78f0 ci: Update the .cargo/config file
```
warning: `/builds/alatiera/gst-plugins-rs/.cargo/config` is deprecated in favor of `config.toml`
```

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1741>
2024-08-22 09:13:45 +01:00
Jordan Petridis
a240b0feed ci: Add a default retry policy for jobs
Automatically retry if it's a system failure or similar

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1741>
2024-08-22 09:13:45 +01:00