Commit graph

3665 commits

Author SHA1 Message Date
Taruntej Kanakamalla
75a0baa6fa threadshare: udp: avoid getifaddrs in android
until the issue https://github.com/mmastrac/getifaddrs/issues/5 is fixed

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1917>
2024-11-14 20:01:42 +05:30
Taruntej Kanakamalla
1963dad67e threadshare: net: correct the member name in ip_mreq
missed changing to `ifr_interface` after switching to the libc crate

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1917>
2024-11-14 16:43:59 +05:30
Taruntej Kanakamalla
b16379d00b threadshare: udp: add multicast-iface property
similar to the non threadshare counterparts, the ts-udpsink can accept
only one multicast interface and the ts-udpsrc can accept a list of
interfaces to be listening on for the multicast.

Use the getifaddrs crate to get the available network interfaces and filter
the desired interfaces from the available interfaces

Reuse a custom api written for PTP helper to join and leave multicast group
for IPv4 based addresses. Continue to use the UdpSocket crate's _multicast_v6
to join/leave an IPv6 multicast group

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1420>
2024-11-14 00:02:04 +00:00
Jochen Henneberg
580e06a002 fmp4mux: Let test consume remaining buffers after EOS
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1914>
2024-11-13 13:35:56 +01:00
Jochen Henneberg
b95f39f4bf fmp4mux: Avoid error on caps change with incomplete GOP pushed
New fragments may accept inter-frames if an incomplete GOP has been
pushed after a caps change and upstream did not handle the
force-key-unit event.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1914>
2024-11-13 10:25:58 +01:00
Thibault Saunier
1dcf0943db tracers: buffers-lateness: Add a signal to force writing log file
This way applications can write the queue levels info whenever it wants
and does not need to wait for the application to quite.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1912>
2024-11-12 13:04:43 -03:00
Thibault Saunier
153d4c7ac5 tracers: queue-levels: Add a signal to force writing log file
This way applications can write the queue levels info whenever it wants
and does not need to wait for the application to quite.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1912>
2024-11-12 13:04:43 -03:00
Sebastian Dröge
def8a29cc6 Update CHANGELOG.md for 0.13.3 release
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1905>
2024-11-12 11:51:30 +02:00
Sebastian Dröge
a56d82340d Update CHANGELOG.md for 0.13.2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1826>
2024-11-12 11:51:30 +02:00
Jerome Colle
f88c88ddb3 webrtcsink: set rtpgccbwe min bitrate
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1896>
2024-11-07 18:00:12 +00:00
Jochen Henneberg
26a6c3b7b9 fmp4mux: Fixed caps change handling for multiple streams
* Moved FKU code into separate function.
* Send FKU for each stream where the caps change happened.
* Send FKU for each stream where an incomplete GOP has been pushed on
  caps change.
* Push incomplete GOP from stream if the early fragment end would not
  contain that stream otherwise.
* If an incomplete GOP has been pushed on the previous fragment accept
  inter-frames on the next fragment and do not drop them.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1895>
2024-11-07 14:35:09 +00:00
Sebastian Dröge
e7813ca3fc deny: Update
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1911>
2024-11-06 11:05:44 +02:00
Sebastian Dröge
f73ade7ea4 Update Cargo.lock
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1911>
2024-11-06 11:03:35 +02:00
Sebastian Dröge
ef39046e18 Update to thiserror 2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1911>
2024-11-06 11:02:41 +02:00
Mathieu Duponchelle
635a83a8d7 transcriberbin: notify passthrough at the appropriate time
We want to enable passthrough internally, and only notify that
internally it has been enabled once the transcriber has been unlinked.

This way applications connected to the notify handler can synchronously
update the properties and attempt to disable passthrough again.

Doing so properly requires a refactoring of the transition to the
passthrough state, with the currently set passthrough mode maintained
separately from the target passthrough state.

This commit also finishes the work left incomplete in
17d7997137 by moving the passthrough
property to the sink pad class, making each transcriber passthrough
state independent from the others.

Also adds an example to demonstrate the behavior

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1856>
2024-11-05 12:23:54 +00:00
Mathieu Duponchelle
5f8e8b4873 aws: add wrapper for the polly text to speech API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1899>
2024-11-05 08:46:48 +00:00
Guillaume Desmottes
ce7d314349 spotify: make common module public
Karapulse implements its own bin wrapping spotifyaudiosrc,
spotifylyricssrc and videotestsrc for rendering Spotify songs.

This element has lived in my own gst-plugins-rs branch for ages but now
that spotifylyricssrc has been usptreamed I'd like to move it to the
Karapulse source tree.
But to be able to do so it needs to be able to use the common module
from the spotify plugin.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1907>
2024-11-02 16:14:08 +01:00
Sebastian Dröge
76282cd385 gtk4: Add missing interfaces to the widget
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1904>
2024-11-02 13:00:28 +02:00
Sebastian Dröge
f4b93dc0fb Update Cargo.lock
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1904>
2024-11-02 12:28:46 +02:00
Guillaume Desmottes
c7c71a830c spotify: bump librespot dep to 0.6
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1902>
2024-11-01 15:12:46 +01:00
Thibault Saunier
93ade2526d tracer: snapshot: Add some documentation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1889>
2024-11-01 07:09:58 +00:00
Thibault Saunier
f752516e31 tracer: snapshot: Add an explicit \xdg-cache\ parameter
Instead of that magically xdg-cache string

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1889>
2024-11-01 07:09:58 +00:00
Thibault Saunier
344326434c tracers: snapshot: Add an option to use folders for each snapshot
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1889>
2024-11-01 07:09:58 +00:00
Thibault Saunier
f6d550d571 tracers: snapshot: Add an option to add pipeline pts in file names
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1889>
2024-11-01 07:09:58 +00:00
Thibault Saunier
6551a4631c tracers: pipeline_snapshot: Add a "cleanup-mode" to remove dot files when wanted
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1889>
2024-11-01 07:09:58 +00:00
Thibault Saunier
e531c7f625 tracers: pipeline_snapshot: Make it controllable inside apps
Exposing properties so that user can configure it when instantiating it

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1889>
2024-11-01 07:09:58 +00:00
Thibault Saunier
27b02445d0 tracers: pipeline_snapshot: Allow passing dot-dir as a parameter
Overriding the default GST_DEBUG_DUMP_DOT_DIR env var

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1889>
2024-11-01 07:09:58 +00:00
Nirbheek Chauhan
d9ed642057 ci: Switch from URL to PATH for trigger CI variable
Use a path, which contains the namespace and the repo name instead of
the complete URL when triggering the Cerbero CI pipeline. Some of the
jobs in the Cerbero pipeline (specifically the examples build) need to
curl the API, and they need the path for that, not the website or git
URL.

The examples build doesn't use gst-plugins-rs, but we change this at
the same time as the monorepo for consistency.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1900>
2024-10-31 04:05:24 +05:30
Xavier Claessens
372c44655a janusvr_signaller: Do not block in end_session()
Only stop() is allowed to block, wait there.

Fixes #603

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1848>
2024-10-30 12:36:01 +00:00
Thomas Goodwin
2cbf83d7e2 rsinter: add 'event-types' property to intersink
The event-types property defaults to Eos.  Setting an
array of additional, serialized event types results in
calling the producer.set_forward_events with those types
so that the events will be forwarded to any consumers.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1875>
2024-10-29 15:17:24 +00:00
Mathieu Duponchelle
79845fd99a awstranscriber: post warning message with details when item is late
When the latency is configured to a value that is too low, items will be
pushed out with an adjusted timestamp, thus affecting synchronization.

It can be useful for the application to receive details about those
adjustments.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1793>
2024-10-28 13:13:31 +00:00
Sebastian Dröge
41ddbd8706 mpegtslivesrc: Parse PAT/PMT and only handle PCRs from the first program
This matches default behaviour of tsdemux and makes sure we're not
jumping between different PCRs if there are multiple.

At a later time, program selection could be implemented.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1887>
2024-10-28 12:15:11 +00:00
Chris Bainbridge
5010ee872d webrtc: Fix Python custom signaller receiving SDP offer
The GstWebRTC API web interface defaults to receiving an SDP offer and
generating an answer, but this can be overridden by entering "offer
options" before clicking to open the remote stream. The Python
webrtcsink-custom-signaller.py example failed in this mode as it was
coded to only generate an offer and receive an answer. Fix this by
implementing support for receiving an offer and sending an answer.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1883>
2024-10-28 11:23:32 +00:00
Chris Bainbridge
e30d80c71e webrtc: README: add webrtcsink-custom-signaller.py
Document the Python webrtcsink custom signaller example.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1888>
2024-10-28 10:19:25 +00:00
Sebastian Dröge
98a87fb8f2 Update to quick-xml 0.37
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1891>
2024-10-28 09:12:13 +00:00
Jerome Colle
0df2b72ff2 rtpbasedepay2: fix reference timestamp meta duplicates
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1890>
2024-10-25 18:23:07 +02:00
Guillaume Desmottes
cdaee85a19 spotify: README: add https://open.spotify.com/get_access_token
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1882>
2024-10-24 18:12:41 +02:00
Mathieu Duponchelle
0ea7e9a59c cea708mux: add support for force-live
This requires a bump of the gst-base dependency to 1.22 in order to
use the new set_force_live() API.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1876>
2024-10-24 15:10:15 +00:00
Guillaume Desmottes
4e501f276b spotify: add spotifylyricssrc element
Retrieve synced lyrics from Spotify.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1880>
2024-10-24 12:27:58 +00:00
Guillaume Desmottes
3f7c5fbe1c spotify: move SetupThread to common
Will be used by the lyrics element.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1880>
2024-10-24 12:27:58 +00:00
Sebastian Dröge
997cd73a83 Update Cargo.lock
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1881>
2024-10-24 10:11:31 +03:00
Sebastian Dröge
7bd063ccae deny: Update various livekit-related overrides
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1881>
2024-10-24 10:09:41 +03:00
Sebastian Dröge
f73317510e Update to quick-xml 0.36
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1881>
2024-10-24 10:09:18 +03:00
Sanchayan Maity
af54b2396b net/quinn: Specify crypto provider explicitly
rustls allows the choice of ring or aws-lc-rs as the cryptographic
library implementation. This is enabled/selected via Cargo feature
flags. We have plugins directly or indirectly depending on rustls
like quinn, aws and spotify. In the presence of multiple plugins,
selecting different implementations as the default, rustls can
panic.

The safest way to avoid this is by using builder_with_provider
and selecting a provider explicitly.

See below issues for further discussion and clarifications.
https://github.com/rustls/rustls/issues/1877
https://github.com/seanmonstar/reqwest/pull/2225

While at it, also specify features explicitly for quinn and rustls.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1878>
2024-10-23 21:24:22 +05:30
Mathieu Duponchelle
dc1d63419e speechmaticstranscriber: store and use a start time
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1869>
2024-10-23 13:48:46 +00:00
kingosticks
a81b7f380f net/quinn: Fix test panic due to unset default crypto provider
If another dep in the workspace pulls in a different rustls crypto
provider then we need to explicitly specify our default provider.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1801>
2024-10-23 12:37:05 +00:00
Guillaume Desmottes
9b4942c6dd spotify: replace username/password auth with access token.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1801>
2024-10-23 12:37:05 +00:00
Sebastian Dröge
13dd1b03c9 docs: Add new ST-2038 elements
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1777>
2024-10-23 11:42:37 +00:00
Sebastian Dröge
91b61ac12f closedcaption: Switch from once_cell to std for new ST2038 elements
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1777>
2024-10-23 11:42:37 +00:00
Sebastian Dröge
5864a1368f closedcaption: st2038ancdemux: Send gap events for inactive streams
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1777>
2024-10-23 11:42:37 +00:00