Mathieu Duponchelle
9080c90120
net/webrtc: add support for answering to webrtcsink
...
Support was added to the base class when the AWS KVS signaller was
implemented, but the default signaller still only supported the case
where the producer was creating the offer.
Also extend the javascript API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1702 >
2024-08-09 14:02:48 +02:00
Mathieu Duponchelle
a9ff9615ff
net/webrtc: correct signaller debug category
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1702 >
2024-08-08 18:28:43 +02:00
Mathieu Duponchelle
64f0b76f71
webrtc: update README with section on embedded signalling / web services
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1671 >
2024-08-08 16:40:46 +02:00
Mathieu Duponchelle
9455e09d9f
webrtcsink: expose properties for running web server
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1671 >
2024-08-08 16:40:46 +02:00
Mathieu Duponchelle
b709c56478
webrtcsink: expose properties for running signalling server
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1671 >
2024-08-07 19:55:00 +02:00
Sebastian Dröge
6c04b59454
webrtcsrc: Don't hold the state lock while removing sessions
...
Removing a session can drop its bin and during release of the bin its
pads are removed, but the pad-removed handler is also taking the state
lock.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1695 >
2024-08-07 09:35:15 +00:00
Sebastian Dröge
ec38d416aa
fmp4mux: Remove _ prefix of actually used parameter
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1694 >
2024-08-07 11:16:51 +03:00
Sebastian Dröge
9006a47e9b
mp4mux: added image orientation tag support
...
Based on a patch by sergey radionov <rsatom@gmail.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1694 >
2024-08-07 11:16:25 +03:00
Guillaume Desmottes
cfe9968a77
gtk4: add custom widget automatically updating the window size
...
Use it in the example and debug window but let's not make it public yet.
Plan is to have a proper bin on top of gtk4paintablesink at some point.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1680 >
2024-08-06 10:29:41 +00:00
Guillaume Desmottes
17910dd532
gtk4: add window-{width,height} property
...
Allow the application to pass the actual rendering size so overlays can
be rendered accordingly.
Fix #562
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1680 >
2024-08-06 10:29:41 +00:00
Sebastian Dröge
ba0265970e
deny: Update
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1691 >
2024-08-06 09:10:08 +03:00
Sebastian Dröge
df330093d5
deny: Update to new configuration format
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1691 >
2024-08-06 09:05:44 +03:00
Sebastian Dröge
b83b6031e5
Update etherparse and async-tungstenite dependencies
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1691 >
2024-08-06 09:00:32 +03:00
Sebastian Dröge
184778d087
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1691 >
2024-08-06 08:57:31 +03:00
Dave Lucia
3a949db720
net/webrtc: Fix turn-servers nick: user -> use
...
Noticed this typo
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1690 >
2024-08-05 12:38:51 -04:00
Guillaume Desmottes
2333b241f0
gtk4: log paintable size in snapshot
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1689 >
2024-08-05 15:53:19 +02:00
Sebastian Dröge
fa060b9fa0
Fix various 1.80 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1688 >
2024-08-05 14:14:17 +03:00
Jordan Petridis
1316b821c4
video/gtk4: Move the dmabuf cfg to the correct bracket level
...
This was defined one bracket above, which was causing the
gst-gl codepath below to also be disabled when there was
no dmabuf feature enabled.
This was also resulting in the following warning as
we were never creating the MappedFrame::GL vartiant due to this
```
warning: unused variable: `wrapped_context`
--> video/gtk4/src/sink/frame.rs:541:85
|
541 | ...", feature = "gst-gl"))] wrapped_context: Option<
| ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wrapped_context`
|
= note: `#[warn(unused_variables)]` on by default
warning: variant `GL` is never constructed
--> video/gtk4/src/sink/frame.rs:80:5
|
74 | enum MappedFrame {
| ----------- variant in this enum
...
```
Move the cfg to the appropriate place where it encaplsulates only
the dmabuf related code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1682 >
2024-08-01 15:44:58 +03:00
Thibault Saunier
a05ab37b49
tracers: Add a tracer that dumps data flow into .pcap files
...
See documentation for more details
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/879 >
2024-07-31 20:27:27 +00:00
Mathieu Duponchelle
86039dd5c1
webrtc-api example: do not rely on webpack / npm proxying websocket
...
Instead simply use the desired address directly from the reference
example, this makes it work out of the box without placing expectations
on the web server.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1674 >
2024-07-30 16:29:54 +00:00
Mathieu Duponchelle
79657e5671
transcriberbin: fix inspect with missing elements
...
Relax the dependency on `awstranscriber` by still building the initial
state when it is absent, this also means an alternative transcriber can
be linked even when `awstranscriber` was not available during
construction.
Also fix property getter / setters to avoid unwrapping the pad state,
and bubble up channel bin construction errors instead of unwrapping (eg
when textwrap was not available).
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/584
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1679 >
2024-07-29 08:38:36 +00:00
Sebastian Dröge
380448587b
gtk4: Enable GtkGraphicsOffload::black-background property when building with GTK 4.16
...
This allows offloading in more situations.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/576
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1673 >
2024-07-18 12:28:20 +03:00
Loïc Le Page
5a1d12419f
gstwebrtc-api: always include index file in dist for convenience
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1670 >
2024-07-17 08:27:31 +00:00
François Laignel
34b791ff5e
webrtc: add raw payload support
...
This commit adds support for raw payloads such as L24 audio to `webrtcsink` &
`webrtcsrc`.
Most changes take place within the `Codec` helper structure:
* A `Codec` can now advertise a depayloader. This also ensures that a format
not only can be decoded when necessary, but it can also be depayloaded in the
first place.
* It is possible to declare raw `Codec`s, meaning that their caps are compatible
with a payloader and a depayloader without the need for an encoder and decoder.
* Previous accessor `has_decoder` was renamed as `can_be_received` to account
for codecs which can be handled by an available depayloader with or without
the need for a decoder.
* New codecs were added for the following formats:
* L24, L16, L8 audio.
* RAW video.
The `webrtc-precise-sync` examples were updated to demonstrate streaming of raw
audio or video.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1501 >
2024-07-16 19:32:02 +00:00
Sebastian Dröge
9c84748fc3
gopbuffer: Use workspace dependency for gst-plugin-version-helper
2024-07-16 19:13:49 +03:00
Sebastian Dröge
d4d02d70a8
rtp: Require bitstream-io < 2.4.0
...
Version 2.4.0 contains a breaking change that it shouldn't, and updating
to 2.4.0 requires a newer Rust version.
See https://github.com/tuffy/bitstream-io/issues/22
2024-07-16 19:13:49 +03:00
Sebastian Dröge
d20ffd5d39
Update CHANGELOG.md for 0.13.0
2024-07-16 19:13:49 +03:00
sergey radionov
fdfa3a33d9
fmp4mux: added image orientation tag support
...
fix #565
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1669 >
2024-07-16 18:49:07 +07:00
Taruntej Kanakamalla
3a8462367e
threadshare: udpsrc: add buffer-size property
...
Use buffer-size to set the receive buffer size
on the socket
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1636 >
2024-07-15 12:13:41 +00:00
Taruntej Kanakamalla
276ec91cb2
threadshare: udpsrc: add loop property to set multicast loopback
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1636 >
2024-07-15 12:13:41 +00:00
François Laignel
6e9855c36b
webrtcsink: fix property types for rav1enc
...
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/572
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1667 >
2024-07-12 18:59:20 +02:00
François Laignel
000c486568
rav1enc: document bitrate property unit
...
See:
e34e772e47/src/rate.rs (L365)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1667 >
2024-07-12 18:59:17 +02:00
Sanchayan Maity
12be9a24a6
net/quinn: Fix generation of self signed certificate
...
The certificate chain was incorrectly being passed the private key instead
of certificate. With rustls 0.23.11 version, this error was being caught
and reported. As stated in the 0.23.11 release, it has a new feature
"API for determining whether a CertifiedKey's certificate and private key
matches: keys_match(). This is called from existing fallible functions
that accept a private key and certificate (for example, with_single_cert())
so these functions now detect this misconfiguration."
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1666 >
2024-07-12 12:26:54 +05:30
Sebastian Dröge
797dd3f3ca
Update version to 0.14.0-alpha.1
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1663 >
2024-07-11 20:00:24 +03:00
Sebastian Dröge
a8ccfe49d9
webrtc: Require livekit-protocol < 0.3.4 due to uncoordinated breaking changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1663 >
2024-07-11 20:00:24 +03:00
Sebastian Dröge
73fa904a7b
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1663 >
2024-07-11 20:00:24 +03:00
Robert Mader
c7ef8e8185
gtk4: Use scale instead of rotate where possible
...
In order to make it easier for GTK4 to figure out that the resulting
operation is 2D and - crucially - can get offloaded to Wayland.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1662 >
2024-07-10 10:58:20 +02:00
Robert Mader
2238db2005
gtk4: Support RGBx formats in SW paths
...
GTK4 has matching enums and thus should handle them fine. Further more
it should allow renderers to reduce memory bandwidth by applying
occlusion culling.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1660 >
2024-07-09 16:53:01 +02:00
Sebastian Dröge
3609411801
gtk4: Invalidate paintable size if changing because of orientation changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1659 >
2024-07-08 14:49:43 +03:00
Sebastian Dröge
98b28d69ce
Update for new debug log macro syntax
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1658 >
2024-07-08 11:25:23 +03:00
Sebastian Dröge
f88f5b03c4
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1658 >
2024-07-08 10:58:14 +03:00
Sebastian Dröge
4123b5d1a1
mpegtslive: Update for gst::Clock::set_calibration()
API changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1658 >
2024-07-08 09:59:06 +03:00
Sebastian Dröge
8522c8a445
gtk4: Add support for rotations / flipping
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/284
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1590 >
2024-07-07 07:43:49 +00:00
Sanchayan Maity
2fe852166e
aws/s3hlssink: Do not call abort before finishing uploads
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1653 >
2024-07-06 14:44:08 +00:00
Sebastian Dröge
6e974cf4b9
gtk4: Document paintable properties correctly
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1655 >
2024-07-06 11:36:55 +00:00
Sebastian Dröge
195c089f18
gtk4: Declare correct default value for force-aspect-ratio
property
...
It's defaulting to false as generally keeping the aspect ratio is the
job of the widget layout and not the paintable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1654 >
2024-07-06 13:41:44 +03:00
Artem Martus
ac0e24b2bd
tutorial-1: Fix broken links for struct references
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1652 >
2024-07-04 15:01:22 +00:00
Sebastian Dröge
4ab8d92f28
mpegtslivesrc: Don't skip the first MPEG-TS packet
...
If every buffer contains only a single MPEG-TS packet we would otherwise
skip over everything and would never observe a PCR.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1651 >
2024-07-04 17:01:43 +03:00
Sebastian Dröge
c701aa6f84
audioloudnorm: Fix limiter buffer index wraparound off-by-one for the last buffer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1649 >
2024-07-02 19:31:11 +03:00
Sebastian Dröge
bd2a039c8d
livesync: Use the actual output buffer duration of gap filler buffers
...
Otherwise the following can happen:
- 25fps stream
- buffer with PTS 0ms, duration 20ms arrives, is output
- buffer with PTS 40ms, duration 20ms arrives
- is considered early because 20ms < 40ms
- filler buffer with PTS 20ms and 40ms duration is output
- buffer with PTS 40ms is output
After this change no filler would be inserted because the gap is smaller
than the duration of a filler buffer.
Also, previously the 40ms duration would be used if a filler was
previously output because in that case the cached output buffer duration
would've already been patched from 20ms to 40ms.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1647 >
2024-07-02 17:15:58 +03:00