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
Sebastian Dröge
3dd800ac77
gtk4paintablesink: Implement child proxy interface
...
This allows setting properties on the paintable from gst-launch-1.0.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1547 >
2024-04-26 12:29:10 +03:00
Sebastian Dröge
c92462b240
gtk4: Implement support for directly importing dmabufs
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/441
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1547 >
2024-04-26 12:29:10 +03:00
Sebastian Dröge
7573caa8e9
rtpgccbwe: Move away from deprecated time::Instant to std::time::Instant
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1554 >
2024-04-25 15:37:28 +03:00
Sebastian Dröge
c12585377c
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1554 >
2024-04-25 14:46:45 +03:00
Mathieu Duponchelle
17d7997137
transcriberbin: add support for consuming secondary audio streams
...
In some situations, a translated alternate audio stream for a content
might be available.
Instead of going through transcription and translation of the original
audio stream, it may be preferrable for accuracy purposes to simply
transcribe the secondary audio stream.
This MR adds support for doing just that:
* Secondary audio sink pads can be requested as "sink_audio_%u"
* Sometimes audio source pads are added at that point to pass through
the audio, as "src_audio_%u"
* The main transcription bin now contains per-input stream transcription
bins. Those can be individually controlled through properties on the
sink pads, for instance translation-languages can be dynamically set
per audio stream
* Some properties that originally existed on the main element still
remain, but are now simply mapped to the always audio sink pad
* Releasing of secondary sink pads is nominally implemented, but not
tested in states other than NULL
An example launch line for this would be:
```
$ gst-launch-1.0 transcriberbin name=transcriberbin latency=8000 accumulate-time=0 \
cc-caps="closedcaption/x-cea-708, format=cc_data" sink_audio_0::language-code="es-US" \
sink_audio_0::translation-languages="languages, transcript=cc3"
uridecodebin uri=file:///home/meh/Music/chaplin.mkv name=d
d. ! videoconvert ! transcriberbin.sink_video
d. ! clocksync ! audioconvert ! transcriberbin.sink_audio
transcriberbin.src_video ! cea608overlay field=1 ! videoconvert ! autovideosink \
transcriberbin.src_audio ! audioconvert ! fakesink \
uridecodebin uri=file:///home/meh/Music/chaplin-spanish.webm name=d2 \
d2. ! audioconvert ! transcriberbin.sink_audio_0 \
transcriberbin.src_audio_0 ! fakesink
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1546 >
2024-04-25 11:56:01 +02:00
Sebastian Dröge
66030f36ad
tracers: Add a pad push durations tracer
...
This tracer measures the time it takes for a buffer/buffer list push to return.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1506 >
2024-04-17 16:20:43 +03:00
Seungha Yang
b3d3895ae7
cea608overlay: Fix black-background setting
...
Apply the property to newly created renderer
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1542 >
2024-04-15 15:38:31 +00:00