Yorick Smilda
563eff1193
Implement GstWebRTCAPI
as class instead of global instance
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1373 >
2024-02-27 12:30:13 +00:00
Jordan Yelloz
594400a7f5
webrtcsrc: Made producer-peer-id optional
...
It may be necessary for some signalling clients but the source element
doesn't need to depend on it.
Also, the value will fall back to the pad's MSID for the first argument
to the request-encoded-filter gobject signal when it isn't available
from the signalling client.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1477 >
2024-02-26 13:41:40 -07:00
Sebastian Dröge
47ba068966
Update CHANGELOG.md for 0.12.2
2024-02-26 14:58:58 +02:00
Sebastian Dröge
5df7c01cb5
closedcaption: Port from nom to winnow
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1475 >
2024-02-26 14:00:08 +02:00
Xavier Claessens
f7ffa13543
janusvr: Add string-ids property
...
It forces usage of strings even if it can be parsed into an integer.
This allows joining room `"133"` in a server configured with string
room ids.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1466 >
2024-02-26 11:10:00 +00:00
Xavier Claessens
23955d2dbb
janusvr: Room IDs can be strings
...
Sponsored-by: Netflix Inc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1466 >
2024-02-26 11:10:00 +00:00
Sebastian Dröge
340d65d7a4
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1474 >
2024-02-26 11:14:01 +02:00
Sebastian Dröge
b9195ed309
fmp4mux: Update to dash-mpd 0.15
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1474 >
2024-02-26 11:14:01 +02:00
Sebastian Dröge
fc1c017fc6
Update CHANGELOG.md for 0.12.1
2024-02-23 19:19:17 +02:00
Sebastian Dröge
f563f8334b
rtp: Add PCMU/PCMA RTP payloader / depayloader elements
...
These come with new generic RTP payloader, RTP raw-ish audio payloader
and RTP depayloader base classes.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1424 >
2024-02-23 14:43:45 +02:00
Xavier Claessens
e09f9e9540
meson: Fix error when default_library=both
...
Skip duplicated plugin_name when we have both the static and shared
plugin in the plugins list.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1470 >
2024-02-22 12:31:23 -05:00
Maksym Khomenko
da21dc853d
webrtcsink: extensions: separate API and signal checks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1469 >
2024-02-20 19:29:46 +02:00
Maksym Khomenko
2228f882d8
webrtcsink: apply rustfmt
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1469 >
2024-02-20 19:29:28 +02:00
Mathieu Duponchelle
8f3a6171ac
textwrap: don't split on all whitespaces ..
...
but only on ASCII whitespaces, as we want to honor non-breaking
whitespaces (\u{a0})
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1468 >
2024-02-16 19:38:38 +01:00
Xavier Claessens
2572afbf15
janusvr: Add secret-key property
...
Every API calls have an optional "apisecret" argument.
Sponsored-by: Netflix Inc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1465 >
2024-02-16 14:04:59 +00:00
Sebastian Dröge
0faac3b875
deny: Add winnow 0.5 override
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1467 >
2024-02-16 14:27:29 +02:00
Sebastian Dröge
cb0cc764ba
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1467 >
2024-02-16 14:26:44 +02:00
Sebastian Dröge
45f55423fb
Remove Cargo.lock from .gitignore
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1467 >
2024-02-16 14:25:54 +02:00
Sebastian Dröge
8ef12a72e8
rtpgccbwe: Don't reset PTS/DTS to None
...
The element is usually placed before `rtpsession`, and `rtpsession`
needs the PTS/DTS for correctly determining the running time. The
running time is then used to produce correct RTCP SR, and to potentially
update an NTP-64 RTP header extension if existing on the packets.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/496
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1462 >
2024-02-14 08:05:54 +00:00
Sebastian Dröge
05884de50c
textwrap: Remove unnecessary to_string()
in debug output of a string
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1458 >
2024-02-12 19:09:06 +02:00
Jordan Yelloz
67b7cf9764
webrtcsink: Added sinkpad with "msid" property
...
This forwards to the webrtcbin sinkpad's msid when specified.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1442 >
2024-02-12 15:04:44 +00:00
Sebastian Dröge
9827106961
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1455 >
2024-02-11 11:55:37 +02:00
Sebastian Dröge
b2d5ee48cd
Update to async-tungstenite 0.25
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1455 >
2024-02-11 11:31:24 +02:00
Sebastian Dröge
7274c725a6
gtk4: Create a window if running from gst-launch-1.0 or GST_GTK4_WINDOW=1 is set
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/482
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1454 >
2024-02-09 15:05:45 +02:00
Sebastian Dröge
66ad059a47
deny: Add zerocopy 0.6 duplicate override for librespot
2024-02-09 10:05:45 +02:00
Sebastian Dröge
c0d111e2c1
utils: Update for renamed clippy lint in 1.76
2024-02-08 21:37:17 +02:00
Sebastian Dröge
9116853e6d
Update Cargo.lock
...
Downgrade clap_derive to 4.4.7 to not require Rust 1.74 or newer.
2024-02-08 20:50:44 +02:00
Sebastian Dröge
21aa61b69c
Update Cargo.lock
2024-02-08 19:41:00 +02:00
Sebastian Dröge
119d905805
Update version to 0.13.0-alpha.1
2024-02-08 19:41:00 +02:00
Sebastian Dröge
2f964f71bb
Update CHANGELOG.md for 0.12.0
2024-02-08 19:31:18 +02:00
Ivan Molodetskikh
d8a61edca0
gtk4: Add scaling-filter and use-scaling-filter properties
...
The property is added under the gtk_v4_10 feature because it requires
GTK 4.10.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1309 >
2024-02-08 15:02:36 +02:00
Ivan Molodetskikh
3423d05f77
gtk4: Do scaling with append_texture()
...
This is equivalent, but will be needed for the scaling filter support.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1309 >
2024-02-08 15:02:36 +02:00
Sebastian Dröge
92891a61e8
Fix a couple of compiler/clippy warnings with --no-default-features
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1452 >
2024-02-08 13:02:55 +02:00
Sebastian Dröge
76b9836e52
ci: Ignore GTK4 plugin when building with --all-features
...
And run clippy also with default / no-default features.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1452 >
2024-02-08 12:36:37 +02:00
Sebastian Dröge
0fe4e0bf0b
gtk4: Add property to the paintable for selecting the background color
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1452 >
2024-02-08 12:35:26 +02:00
Sebastian Dröge
9971f71e94
gtk4: Always draw a black background behind the video frame
...
This makes sure that there is the same background behind the frame, no
matter if black borders have to be added or not. Without this a frame
that has transparency would change rendering depending on the layout.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1452 >
2024-02-08 12:35:26 +02:00
Sebastian Dröge
803550111a
gtk4: Improve handling of RGBA GL textures in GTK
...
GTK 4.14 comes with a new GL renderer that does not support GL shader
nodes anymore, so the conversion from non-premultiplied alpha to
premultiplied alpha has to happen differently.
For GTK 4.14 or newer we use the correct format directly when building the
texture, but only if a GLES3+ context is used. In that case the NGL renderer is
used by GTK, which supports non-premultiplied formats correctly and fast.
For GTK 4.10-4.12, or 4.14 and newer if a GLES2 context is used, we use a
self-mask to pre-multiply the alpha.
For GTK before 4.10, we use a GL shader and hope that it works.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/488
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1452 >
2024-02-08 12:35:26 +02:00
Ruben Gonzalez
09e9c047df
gtk4: Fix segfault running gst-inspect -a
when GTK4 and GTK3 is installed
...
Segmentation fault when getting default value of paintable property
from gtk4paintablesink element when libgtk-4.so.1 from libgstgtk4.so
and libgtk-3.so.0 from libgstgtk.so are installed:
> cannot register existing type 'GdkDisplayManager'
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/490
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1453 >
2024-02-08 08:32:14 +00:00
Nirbheek Chauhan
cf5e7f6ed3
rtspsrc2: Add some top-level documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1425 >
2024-02-08 07:21:51 +05:30
Nirbheek Chauhan
7a1cd675c2
rtspsrc2: Fix RTCP send/recv in the multicast case
...
Don't use connect(), since that is incompatible with multicast.
Instead, drop received packets that are from senders we do not want.
Also set multicast loopback = false so we don't receive RTCP RRs from
ourselves and interpret them as RTCP SRs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1425 >
2024-02-08 07:21:51 +05:30
Nirbheek Chauhan
e59f3bbe58
rtspsrc2: Increase RTP timeout to 5 seconds, matching rtspsrc
...
Also fix some logging.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1425 >
2024-02-08 07:21:51 +05:30
Nirbheek Chauhan
3e963e9239
rtspsrc2: Implement NetAddressMeta support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1425 >
2024-02-08 07:21:51 +05:30
Nirbheek Chauhan
42425abb69
rtspsrc: Factor out SDP → Caps, parse more attributes
...
This could be a struct of some kind derived from sdp_types::Media etc,
but this is fine for now.
Adds parsing of framesize, and fallbacks for missing or incomplete
rtpmap.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1425 >
2024-02-07 20:29:23 +05:30
Nirbheek Chauhan
437326ebfd
rtspsrc2: Allocate a buffer pool for UDP RTP data
...
Control the size with a receive-mtu property
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1425 >
2024-02-07 20:29:23 +05:30
Nirbheek Chauhan
44e49a06a0
rtspsrc2: Emit EOS if any ssrc gets a BYE packet or times out
...
This allows us to exit when the live-stream ends.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1425 >
2024-02-07 20:29:23 +05:30
Nirbheek Chauhan
975556c06b
rtspsrc2: Allow a SETUP response without a Transports header
...
If we only send a single Transport in the Transports header, then the
server is allowed to omit it in the response. This has some strange
consequences for UDP transport: specifically, we have no idea what
addr/port we will get the packets from.
In those cases, we connect() on the socket when we receive the first
packet, so we can send RTCP RRs, and also so we can ensure that we
ignore data from other addresses.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1425 >
2024-02-07 20:29:23 +05:30
Nirbheek Chauhan
086ffd7aff
New RTSP source plugin with live streaming support
...
GST_PLUGIN_FEATURE_RANK=rtspsrc2:1 gst-play-1.0 [URI]
Features:
* Live streaming N audio and N video
- With RTCP-based A/V sync
* Lower transports: TCP, UDP, UDP-Multicast
* RTP, RTCP SR, RTCP RR
* OPTIONS DESCRIBE SETUP PLAY TEARDOWN
* Custom UDP socket management, does not use udpsrc/udpsink
* Supports both rtpbin and the rtpbin2 rust rewrite
- Set USE_RTPBIN2=1 to use rtpbin2 (needs other MRs)
* Properties:
- protocols selection and priority (NEW!)
- location supports rtsp[ut]://
- port-start instead of port-range
Co-Authored-by: Tim-Philipp Müller <tim@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1425 >
2024-02-07 20:29:18 +05:30
Ruben Gonzalez
612ef91af9
meson: Update dav1d dependecies to avoid build error when 1.3
...
See: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1393
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1447 >
2024-02-06 10:13:43 +00:00
Ruben Gonzalez
f8572c17dd
meson: Use list for dependency version to enable multiple restrictions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1447 >
2024-02-06 10:13:43 +00:00
Sebastian Dröge
d7c7784022
deny: Add override for duplicated toml_edit dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1448 >
2024-02-06 09:18:35 +02:00