Martin Nordholts
a719cbfcc6
rtp: Change RtpBasePay2::ssrc_collision from AtomicU64 to Option<u32>
...
Rust targets without support for `AtomicU64` is still
somewhat common. Running
git grep -i 'max_atomic_width: Some(32)' | wc -l
in the Rust compiler repo currently counts to 34 targets.
Change the `RtpBasePay2::ssrc_collision` from `AtomicU64` to
`Mutex<Option<u32>>`. This way we keep support for these
targets.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1562 >
2024-05-10 14:23:41 +00:00
7d75e263f8
fmp4mux: Add language from tags
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1557 >
2024-05-10 13:01:58 +00:00
Martin Nordholts
aabb011f5a
rtpgccbwe: Log effective bitrate in more places
...
While monitoring and debugging rtpgccbwe, it is very helpful
to get continuous values of what it considers the effective
bitrate. Right now such prints will stop coming once the
algorithm stabilizes. Print it in more places so it keeps
coming. Use the same format to make it simpler to extract
the values by parsing the logs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1567 >
2024-05-10 11:56:51 +00:00
Martin Nordholts
e845e3575c
rtpgccbwe: Add mising 'ps' suffix to 'kbps' of 'effective bitrate'
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1567 >
2024-05-10 11:56:51 +00:00
Sebastian Dröge
f265c3197b
Update plugins cache JSON for new CI GStreamer version
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1570 >
2024-05-10 14:14:51 +03:00
Sebastian Dröge
e8e173d0d0
webrtc: Update Signallable interface to new interface definition API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1570 >
2024-05-10 14:13:55 +03:00
Sebastian Dröge
f842aff6df
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1570 >
2024-05-10 14:09:27 +03:00
Sebastian Dröge
7e09481adc
rtp: Add JPEG RTP payloader/depayloader
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1543 >
2024-05-10 11:12:49 +03:00
Sebastian Dröge
1b48fb7ae7
deny: Re-add rustls override because the AWS SDK still uses an old version
2024-05-10 09:41:19 +03:00
Sanchayan Maity
fe55acb4c9
net/hlssink3: Refactor out HlsBaseSink & hlscmafsink from hlssink3
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1564 >
2024-05-09 21:50:32 +05:30
Tamas Levai
fe3607bd14
net/quinn: Remove dependency locks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1565 >
2024-05-09 16:45:38 +02:00
Tamas Levai
5884c00bd0
net/quinn: Improve stream shutdown process
...
Co-authored-by: Sanchayan Maity <sanchayan@asymptotic.io>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1565 >
2024-05-09 16:43:26 +02:00
Tamas Levai
13c3db7857
net/quinn: Port to quinn 0.11 and rustls 0.23
...
Co-authored-by: Felician Nemeth <nemethf@tmit.bme.hu>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1565 >
2024-05-09 13:49:33 +02:00
Martin Nordholts
2b7488a4c8
rtpgccbwe: Log delay and loss target bitrates separately
...
When debugging rtpgccbwe it is helpful to know if it is
delay based or loss based band-width estimation that puts a
bound on the current target bitrate, so add logs for that.
To minimize the time we need to hold the state lock, perform
the logging after we have released the state lock.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1561 >
2024-05-08 19:12:44 +00:00
Sebastian Dröge
b4576a0074
gtk4: Fix description of the plugin
...
A paintable is not a widget and that aspect does not belong in the short
description anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1563 >
2024-05-07 20:21:03 +03:00
Mathieu Duponchelle
8861fc493b
webrtcsink: improve error when no discovery pipeline runs
...
If for instance no encoder was found or the RTP plugin was missing,
it is possible that no discovery pipeline will run for a given stream.
Provide a more helpful error message for that case.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/534
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1560 >
2024-05-06 11:39:48 +00:00
Sanchayan Maity
2bfb6ee016
Add quinn
to default-members
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1558 >
2024-05-02 16:39:29 +00:00
Sanchayan Maity
edd7c258c8
Add quinn
plugin to README
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1558 >
2024-05-02 16:39:29 +00:00
Sanchayan Maity
3a3cec96ff
net/quinn: Add pipeline example
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1558 >
2024-05-02 16:39:29 +00:00
Sanchayan Maity
80f8664564
net/quinn: Use camel case acronym
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1558 >
2024-05-02 16:39:29 +00:00
Sebastian Dröge
be3ae583bc
Fix new Rust 1.78 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1559 >
2024-05-02 18:36:23 +03:00
Sebastian Dröge
58106a42a9
quinn: Fix up dependencies
2024-05-02 09:59:55 +03:00
Sanchayan Maity
096538989b
docs: Add documentation for gst-plugin-quinn
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1036 >
2024-05-01 22:30:23 +05:30
Sanchayan Maity
150ad7a545
net/quinn: Use separate property for certificate & private key file
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1036 >
2024-05-01 22:30:23 +05:30
Sanchayan Maity
0d2f054c15
Move net/quic to net/quinn
...
While at it, add this to meson.build.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1036 >
2024-05-01 22:30:23 +05:30
Sanchayan Maity
18cf5292b7
net/quic: Fix inconsistencies around secure connection handling
...
This set of changes implements the below fixes:
- Allow certificates to be specified for client/quicsink
- Secure connection being true on server/quicsrc and false on
client/quicsink still resulted in a successful connection
instead of server rejecting the connection
- Using secure connection with ALPN was not working
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1036 >
2024-05-01 18:09:16 +05:30
Sanchayan Maity
97d8a79d36
net/quic: Drop private key type property
...
Use read_all helper from rustls_pemfile and drop the requirement for the
user having to specify the private key type.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1036 >
2024-05-01 18:09:16 +05:30
Sanchayan Maity
a306b1ce94
net/quic: Use a custom ALPN string
...
`h3` does not make sense as the default ALPN, as there likely isn't
going to be a HTTP/3 application layer, especially as our transport
is unidirectional for now. Use a custom string `gst-quinn` for now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1036 >
2024-05-01 18:09:16 +05:30
Sanchayan Maity
22c6a98914
net/quic: Rename to quinnquicsink/src
...
There might be other QUIC elements in the future based on other
libraries. To prevent namespace collision, namespace the elements
with `quinn` prefix.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1036 >
2024-05-01 18:09:16 +05:30
Sanchayan Maity
8b64c734e7
net/quic: Use separate property for address and port
...
While at it, do not duplicate call to settings lock in property
getter and setter for every property.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1036 >
2024-05-01 18:01:49 +05:30
Tamas Levai
befd8d4bd2
net/quic: Allow SSL keylog file for debugging
...
rustls has a KeyLog implementation that opens a file whose name is
given by the `SSLKEYLOGFILE` environment variable, and writes keys
into it. If SSLKEYLOGFILE is not set, this does nothing.
See
https://docs.rs/rustls/latest/rustls/struct.KeyLogFile.html
https://docs.rs/rustls/latest/rustls/trait.KeyLog.html
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1036 >
2024-05-01 18:01:49 +05:30
Sanchayan Maity
ce930eab5f
net/quic: Allow setting multiple ALPN transport parameters
...
For reference, see
https://datatracker.ietf.org/doc/html/rfc9000#section-7.4
https://datatracker.ietf.org/doc/html/rfc7301
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1036 >
2024-05-01 18:01:49 +05:30
Tamas Levai
75b25d011f
net/quic: Allow specifying an ALPN transport parameter
...
See https://datatracker.ietf.org/doc/html/rfc9000#section-7.4 .
This controls the Transport Layer Security (TLS) extension for
application-layer protocol negotiation within the TLS handshake.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1036 >
2024-05-01 18:01:49 +05:30
Sanchayan Maity
953f6a3fd7
net: Add QUIC source and sink
...
To test, run receiver as
```bash
gst-launch-1.0 -v -e quicsrc caps=audio/x-opus use-datagram=true ! opusparse ! opusdec ! audio/x-raw,format=S16LE,rate=48000,channels=2,layout=interleaved ! audioconvert ! autoaudiosink
```
run sender as
```bash
gst-launch-1.0 -v -e audiotestsrc num-buffers=512 ! audio/x-raw,format=S16LE,rate=48000,channels=2,layout=interleaved ! opusenc ! quicsink use-datagram=true
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1036 >
2024-05-01 18:01:49 +05:30
Robert Mader
8e675de690
gtk4paintablesink: Add some documentation
...
And sync with `README.md` in order to make the environment variables
`GST_GTK4_WINDOW` and `GST_GTK4_WINDOW_FULLSCREEN` discoverable - and
because it's generally useful.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1555 >
2024-04-30 09:59:49 +03:00
Robert Mader
4326c3bfce
gtk4paintablesink: Also create window for gst-play
...
So it can be easily tested with
```
gst-play-1.0 --videosink=gtk4paintablesink ...
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1555 >
2024-04-29 22:44:56 +02:00
Robert Mader
47b788d44b
gtk4paintablesink: Add env var to fullscreen window
...
For testing purposes with e.g. gst-launch.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1555 >
2024-04-29 20:44:05 +00:00
François Laignel
16b0a4d762
rtp: add mp4gpay
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1551 >
2024-04-29 13:33:42 +00:00
François Laignel
b588ee59bc
rtp: add mp4gdepay
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1551 >
2024-04-29 13:33:42 +00:00
François Laignel
5466cafc24
rtp: add mp4apay
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1551 >
2024-04-29 13:33:42 +00:00
François Laignel
812fe0a9bd
rtp: add mp4adepay
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1551 >
2024-04-29 13:33:42 +00:00
Sebastian Dröge
c55c4ca42a
Update CHANGELOG.md for 0.12.5
2024-04-29 13:49:17 +03:00
Sebastian Dröge
83bd7be92a
deny: Remove syn override
2024-04-29 11:54:38 +03:00
Sebastian Dröge
70397a9f05
Update CHANGELOG.md for 0.12.4
2024-04-29 11:46:19 +03:00
Maksym Khomenko
a87eaa4b79
hrtfrender: use bitmask, not int, to prevent a capsnego failure
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1549 >
2024-04-26 20:24:19 +00:00
Philippe Normand
88cbc93338
dav1ddec: Negotiate bt709 colorimetry when values from seq header are unspecified
...
With unknown range colorimetry validation would fail in video-info. As our
decoder outputs only YUV formats Bt709 should be a reasonable default.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1548 >
2024-04-26 19:35:41 +00:00
Sebastian Dröge
927c3fcdb6
gtk4paintablesink: Update README.md with all the new features
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1547 >
2024-04-26 12:29:10 +03:00
Sebastian Dröge
5803904deb
gtk4paintablesink: meson: Add auto-detection of GTK4 versions and dmabuf feature
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1547 >
2024-04-26 12:29:10 +03:00
Sebastian Dröge
c95e07a897
gtk4paintablesink: Improve scaling logic
...
If force-aspect-ratio=false then make sure to fully fill the given
width/height with the video frame and avoid rounding errors. This makes
sure that the video is rendered in the exact position selected by the
caller and that graphics offloading is going to work more likely.
In other cases and for all overlays, make sure that the calculated
positions are staying inside (0, 0, width, height) as rendering outside
is not allowed by GTK.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1547 >
2024-04-26 12:29:10 +03:00
Sebastian Dröge
b42bd3d026
gtk4paintablesink: Add force-aspect-ratio property like in other video sinks
...
Unlike in other sinks this defaults to false as generally every user of
GDK paintables already ensures that the aspect ratio is kept and the
paintable is layed out in the most optimal way based on the context.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1547 >
2024-04-26 12:29:10 +03:00