Guillaume Desmottes
d9e8f4054c
webrtc: allow PAR change in webrtcsink input caps
...
We are already allowing resolution changes which can lead to change in
pixel-aspect-ratio.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1830 >
2024-09-30 14:40:48 +02:00
Sebastian Dröge
dcb072ee23
webrtc: livekit: Set connection earlier during setup
...
Otherwise it's not available yet when handling the initial participants
that are already in the session when joining.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1794 >
2024-09-30 13:04:24 +03:00
Sebastian Dröge
cd2b641321
livekitwebrtcsrc: Add API for disabling/enabling a track
...
A disabled track is still negotiated but no data is sent for it
temporarily until it is enabled again.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1794 >
2024-09-30 13:04:24 +03:00
Sebastian Dröge
27dc76826e
livekitwebrtcsrc: Add pad properties for various LiveKit participant / track metadata
...
The content of the TrackInfo and ParticipantInfo structs is exposed as
gst::Structure.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1794 >
2024-09-30 13:04:24 +03:00
Sebastian Dröge
ceb88d960f
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/1823 >
2024-09-27 12:25:16 +03:00
Nick Steel
5f055160ba
spotify: add missing tokio crate feature rt-multi-thread
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1818 >
2024-09-26 09:56:46 +01:00
Nick Steel
32aaf19fa3
spotify: depend on librespot-core and librespot-playback only
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1818 >
2024-09-26 09:54:27 +01:00
Nick Steel
e006c20556
spotify: avoid librespot::discovery dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1815 >
2024-09-26 06:48:56 +00:00
Mathieu Duponchelle
0d160d8cf6
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/1814 >
2024-09-25 16:09:29 +00:00
Mathieu Duponchelle
87c6719e1d
webrtcsink: add define-encoder-bitrates signal
...
When congestion control is used for a session with multiple encoders,
the default implementation simply divides the overall bitrate equally
between encoders.
This is not always desirable, and this patch exposes a new signal
that users can register to, with two arguments:
* The overall bitrate to allocate
* A structure with an encoder.stream_name -> bitrate mapping
Handlers should return a similar structure with a custom mapping.
An example is also provided.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1792 >
2024-09-25 15:19:44 +00:00
François Laignel
f532d523b2
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/1810 >
2024-09-25 09:30:48 +00:00
Sebastian Dröge
b5586095bc
tracers: Update to etherparse 0.16
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1808 >
2024-09-25 09:05:56 +03:00
Mathieu Duponchelle
5c66d8c107
webrtcsrc: ensure source pad has msid when added
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1800 >
2024-09-24 14:50:30 +00:00
Mathieu Duponchelle
f70482d9bc
webrtcsrc: fix default msid property value
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1800 >
2024-09-24 14:50:30 +00:00
Guillaume Desmottes
bd7b94e305
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/1799 >
2024-09-23 12:48:42 +00:00
Jochen Henneberg
8313260e09
fmp4mux: Renamed caps_change_allowed() to header_update_allowed()
...
Because tag events like orientation and language require a header
update as well.
For proper logging the function now takes a reason parameter and logs
a debug message in case the header update is allowed.
And added some explanation to the function to make sure that it is
used in the right place.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1762 >
2024-09-23 11:52:18 +00:00
Jochen Henneberg
c0f3eff18e
fmp4mux: Renamed caps_changed to need_new_header
...
Because the header update is needed in case of language code or
orientation changes as well that come with tag events.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1762 >
2024-09-23 11:52:18 +00:00
Jochen Henneberg
1be92c4b86
fmp4mux: Added tests for caps change feature
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1762 >
2024-09-23 11:52:18 +00:00
Jochen Henneberg
0c8b84d8a8
fmp4mux: Send new fragment with header in case of caps change
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1762 >
2024-09-23 11:52:18 +00:00
Jochen Henneberg
4d71525eee
fmp4mux: Simplified EOS detect logic
...
The all_eos cannot be set without having sinkpad.is_eos(). Thus
all_eos || sinkpad.is_eos() == sinkpad.is_eos().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1762 >
2024-09-23 11:52:18 +00:00
Guillaume Desmottes
431adaa2f9
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/1798 >
2024-09-23 12:24:22 +02:00
Jordan Petridis
b5e0e0713c
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/1791 >
2024-09-20 15:05:21 +03:00
Jendrik Weise
1ff761e410
fmp4: Add tests for split-at-running-time signal
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1761 >
2024-09-20 12:35:24 +03:00
Jendrik Weise
d5a9c7a940
fmp4: Add split-at-running-time signal
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1761 >
2024-09-20 12:35:24 +03:00
Mathieu Duponchelle
a85b0cb72e
webrtcsrc: expose MSID property on source pad
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1789 >
2024-09-20 09:31:57 +03:00
Sebastian Dröge
c9b370a6e4
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/1774 >
2024-09-19 12:05:42 +00:00
Sebastian Dröge
d69d0f8738
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/1774 >
2024-09-19 12:05:42 +00:00
Sebastian Dröge
29b54ed2fc
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/1774 >
2024-09-19 12:05:42 +00:00
Jan Schmidt
7905626a5f
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/1779 >
2024-09-19 20:45:43 +10:00
Mathieu Duponchelle
6a23ae168f
webrtcsink: implement mechanism to forward metas over control channel
...
It may be desirable for the frontend to receive ancillary information
over the control channel.
Such information includes but is not limited to time code metas, support
for other metas (eg custom meta) might be implemented in the future, as
well as downstream events.
This patch implements a new info message, probes buffers that arrive at
nicesink to look up timecode metas and potentially forwards them to the
consumer when the `forward-metas` property is set appropriately.
Internally, a "dye" meta is used to trace the media identifier the
packet we are about to send over relates to, as rtpfunnel bundles all
packets together.
The example frontend code also gets a minor update and now logs info
messages to the console.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1749 >
2024-09-19 08:41:47 +00:00
Mathieu Duponchelle
db026ad535
gstwebrtc-api: expose API on consumer-session for munging stereo
...
We cannot do that by default as this is technically non-compliant,
so we need to expose API to let the user opt into it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1754 >
2024-09-19 07:37:23 +00:00
Sebastian Dröge
aae9d5c0e9
closedcaption: cea608utils: Avoid overflow when deciding which lines to retain
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1776 >
2024-09-17 12:00:56 +03:00
Seungha Yang
1675e517b3
hlscmafsink: Add playlist-root-init property
...
Adding a property to allow setting base path for init fragment to be
written in manifest file
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1773 >
2024-09-11 03:36:08 +09:00
Sebastian Dröge
1d20028b00
ci: Ignore test-with update until MSRV can be updated to 1.75+
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1772 >
2024-09-10 09:19:18 +03:00
Sebastian Dröge
975e4e157b
deny: Add link to issue about replacing sodiumoxide
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1772 >
2024-09-10 09:19:18 +03:00
Sebastian Dröge
6a7118e535
deny: Ignore proc-macro-error being unmaintained
...
See https://github.com/yanganto/test-with/issues/91
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1772 >
2024-09-10 09:19:18 +03:00
Sebastian Dröge
7843209692
ci: Ignore bitstream-io update until MSRV can be updated to 1.80+
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1772 >
2024-09-10 09:19:18 +03:00
Sebastian Dröge
c505d9a418
Update to async-tungstenite 0.28
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1772 >
2024-09-10 09:19:18 +03:00
Sebastian Dröge
0c9fb369d3
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1772 >
2024-09-10 09:19:18 +03:00
Jerome Colle
fef6601094
dav1ddec: add properties for film grain synthesis and in-loop filters
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1763 >
2024-09-09 14:23:15 +00:00
Sebastian Dröge
24003a79f6
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/1767 >
2024-09-09 13:29:14 +00:00
Sebastian Dröge
c32cb20906
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/1767 >
2024-09-09 13:29:14 +00:00
Sebastian Dröge
c5b1ebc7d8
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/1767 >
2024-09-09 13:29:14 +00:00
Sebastian Dröge
44f64fb3f6
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/1767 >
2024-09-09 13:29:14 +00:00
Sebastian Dröge
453b3014e6
mpegtslivesrc: Set DISCONT flag on buffers at PCR discontinuities
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1767 >
2024-09-09 13:29:14 +00:00
Sebastian Dröge
8fd2b7daa4
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/1769 >
2024-09-09 14:37:48 +03:00
Sebastian Dröge
2e0f52de2c
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/1769 >
2024-09-09 14:35:40 +03:00
Sebastian Dröge
7a959b9e9d
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/1769 >
2024-09-09 14:35:10 +03:00
Sebastian Dröge
a709eb96d9
Fix new Rust 1.81 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1768 >
2024-09-05 22:01:01 +03:00
Sebastian Dröge
295b9f01c2
ndisrc: Use correct receive time to re-initialize time tracking on disconts
...
The base receive time should not be the monotonic system clock time, but
the monotonic system clock time adjusted by the current clock calibration.
For the first time this is equivalent as the clock calibration is the default,
but for further discontinuities it is not and would cause a
discontinuity in the clock times at this point.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1766 >
2024-09-05 10:18:48 +00:00