Sebastian Dröge
628dee9079
gtk4: Use a correctly typed None value when retrieving the paintable property fails
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/609
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1850 >
2024-10-14 18:22:04 +03:00
Mathieu Duponchelle
5e49f1d10e
webrtcsrc: address non-compliant transceiver creation
...
Instead of adding transceivers explicitly then setting the remote
description, expecting the manually added transceivers to get picked
up, we pass a promise to set-remote-description-set, and set the
relevant properties on the automatically created transceivers at that
point.
We then call create-answer and proceed as before.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/596
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1829 >
2024-10-14 11:19:38 +00:00
Guillaume Desmottes
027eead86d
webrtc: janus: add 'janus-state' property to the sink
...
This property can be used by applications to track the state of the
signaller, especially to know when the stream is up.
Fix #510
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1505 >
2024-10-10 10:59:50 -04:00
Guillaume Desmottes
d8b9a7a486
webrtc: janus: fix typo in doc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1505 >
2024-10-10 10:57:02 -04:00
Matthew Waters
d4fd21d197
rtp2/jitterbuffer: check for event query earlier
...
If a serialized query arrives (e.g. allocation) and the jitterbuffer has never
received a packet, then jitterbuffer would never forward the serialized query
resulting in a hang.
Fix by forwarding queries/events before the conditions that require the first
packet to arrive.
Also update unit test to check for this scenario.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1846 >
2024-10-09 16:21:13 +00:00
Ray Tiley
06c8874752
[cea608overlay] - don't indent centered text.
...
Adding the additional 10% padding was causing captions to render to far
to the right.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1845 >
2024-10-08 16:30:43 -04:00
Mathieu Duponchelle
b3ace3678b
webrtcsink: fix naming of error dot files for discovery pipelines
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1843 >
2024-10-03 14:35:45 +00:00
Jordan Petridis
3788914cea
ci: Specify the number of build jobs on windows
...
Followup to b5e0e071
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1840 >
2024-10-03 10:32:22 +00:00
Jordan Petridis
24ffee3fd6
ci: Use cargo nextest as the test runner and export junit reports
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1840 >
2024-10-03 10:32:22 +00:00
Guillaume Desmottes
2fc8d6a27d
togglerecord: provide details when RT assertion fails
...
We hit this assertion once during our tests but it's unclear why.
This change will hopefully help us understanding what's going on next
time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1809 >
2024-10-03 09:24:35 +00:00
Sebastian Dröge
36304a7d36
gtk4paintablesink: Don't initialize a GL context unless a GL platform is enabled
...
And also don't suggest in the template caps that GL might be supported.
For clarification, the wayland feature is also renamed to waylandegl and
using wayland gives a deprecation warning.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1837 >
2024-10-02 14:12:12 +00:00
Sebastian Dröge
d1254fc4ef
gtk4paintablesink: Don't check for a GL context when filtering dmabuf caps
...
There's no connection between the two and dmabuf can also not be
supported if GL is also unsupported.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1837 >
2024-10-02 14:12:12 +00:00
Mathieu Duponchelle
867408b1c0
speechmaticstranscriber: add debug
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1831 >
2024-10-02 11:16:02 +00:00
Mathieu Duponchelle
115e12c09a
transcriberbin: fix linking of user-provided transcriber
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1831 >
2024-10-02 11:16:02 +00:00
Mathieu Duponchelle
5eccb180be
transcriberbin: support both latency and transcribe-latency properties
...
Also don't set translate-latency property if not present
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1831 >
2024-10-02 11:16:02 +00:00
Mathieu Duponchelle
8fae519c8d
transcriberbin: add debug
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1831 >
2024-10-02 11:16:02 +00:00
Sebastian Dröge
ccb9610d6b
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1835 >
2024-10-02 06:36:56 +00:00
Sebastian Dröge
2c9be9f236
deny: Update
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1835 >
2024-10-02 06:36:56 +00:00
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