Robert Mader
49774f0f36
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/1661 >
2024-07-09 23:23:31 +02:00
Sanchayan Maity
4dfce290f2
aws/s3hlssink: Do not call abort before finishing uploads
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1657 >
2024-07-06 17:55:46 +01:00
Sebastian Dröge
5998e1dd9d
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/1656 >
2024-07-06 13:41:56 +01:00
Sebastian Dröge
9693aa6cc5
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/1650 >
2024-07-04 11:07:18 +01:00
Sebastian Dröge
1a8a1dcf17
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/1648 >
2024-07-02 17:07:57 +01:00
Sebastian Dröge
7088a06982
livesync: Add sync property for allowing to output buffers as soon as they arrive
...
By default livesync will wait for each buffer on the clock. If sync is
set to false, it will output buffers immediately once they're available
and only waits on the clock for outputting gap filler buffers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1643 >
2024-06-28 17:31:34 +01:00
Sebastian Dröge
000e9c92d2
livesync: Synchronize on the first buffer too
...
Previously the first buffer would be output immediately and
synchronization would only happen from the second buffer onwards.
This would mean that the first buffer would potentially be output too
early.
Instead, if there is no known output timestamp yet but a buffer with a
timestamp, first of all take its start as the initial output timestamp
and synchronize on that buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1643 >
2024-06-28 17:31:34 +01:00
Sebastian Dröge
6d177f5d3c
livesync: Use let-else
in a few more places
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1643 >
2024-06-28 17:31:34 +01:00
Sebastian Dröge
de4bfa2028
livesync: Allow queueing up to latency buffers
...
This was already reported by the latency query, and not doing this would
require to always put a queue before livesync.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1643 >
2024-06-28 17:31:34 +01:00
Nirbheek Chauhan
b73bea4a90
meson: Printing a list is only available with meson >=1.3
...
Fixes https://gitlab.freedesktop.org/tpm/gstreamer/-/jobs/60108579
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1633 >
2024-06-20 11:14:45 +01:00
Sebastian Dröge
8bd94e284d
Update CHANGELOG.md for 0.12.7
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1631 >
2024-06-19 20:18:59 +03:00
Sebastian Dröge
804c9bdf92
Update versions to 0.12.7
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1631 >
2024-06-19 20:18:59 +03:00
Sebastian Dröge
d4b17ec62c
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1631 >
2024-06-19 19:35:24 +03:00
Nirbheek Chauhan
ef09a54b32
meson: Handle features needed only by examples separately
...
Currently we incorrectly require gtk4 to build the fallbackswitch, livesync,
togglerecord plugins when the examples option is allowed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1614 >
2024-06-19 15:09:59 +00:00
Nirbheek Chauhan
44a8a05aa3
meson: Actually build plugin examples
...
This broke in 8b5a398135
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1614 >
2024-06-19 15:09:59 +00:00
Nirbheek Chauhan
93491826e8
meson: Fix gtk4 plugin build on linux
...
dmabuf feature needs the wayland feature too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1614 >
2024-06-19 15:09:59 +00:00
Nirbheek Chauhan
01ad705bf6
meson: Only enable the gtk4 plugin when deps are found
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1614 >
2024-06-19 15:09:59 +00:00
Nirbheek Chauhan
2478b47445
meson: Fix plugin requirement checking and add logging
...
We were silently skipping plugins that didn't find a required feature,
even if the plugin option was enabled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1614 >
2024-06-19 15:09:59 +00:00
Nirbheek Chauhan
46094f8e40
meson: Fix typo in gstreamer-gl dep fetching
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1614 >
2024-06-19 15:09:59 +00:00
Nirbheek Chauhan
e705f0a8a4
meson: Make gstreamer-gl dependency optional
...
Minimal systems like docker containers may not have GL
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1614 >
2024-06-19 15:09:59 +00:00
Sebastian Dröge
627a756f04
rtp: av1pay: Derive Default trait for the state instead of manual implementation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1628 >
2024-06-18 10:52:50 +00:00
Sebastian Dröge
433acfb2c6
rtp: av1pay: Correctly use N flag for marking keyframes
...
The "first packet of a coded video sequence" means that this should be
the first packet of a keyframe that comes together with a sequence
header, not the first packet of a new frame.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/558
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1628 >
2024-06-18 10:52:50 +00:00
Sebastian Dröge
5b04b65a5e
rtp: av1pay: Correctly skip over ignored OBUs
...
The reader is already after the header at this point so only the OBU
content has to be skipped.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1628 >
2024-06-18 10:52:50 +00:00
Sebastian Dröge
8840861861
rtp: av1: Drop padding OBUs too like Chrome does
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1628 >
2024-06-18 10:52:50 +00:00
Sebastian Dröge
998b4734bf
Fix various new clippy 1.79 warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1627 >
2024-06-18 10:01:13 +00:00
Angelo Verlain
0186930777
gtk4: update flatpak integration code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1626 >
2024-06-18 10:33:55 +01:00
Sebastian Dröge
c07abf04f0
rtp: av1depay: Also log warnings on errors
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1621 >
2024-06-17 12:05:05 +03:00
Sebastian Dröge
c821130947
rtp: av1depay: Parse internal size fields of OBUs and handle them
...
They're not recommended by the spec to include in the RTP packets but it
is valid to include them. Pion is including them.
When parsing the size fields also make sure to only take that much of a
payload unit and to skip any trailing data (which should not exist in
the first place).
Pion is also currently storing multiple OBUs in a single payload unit,
which is not allowed by the spec but can be easily handled with this
code now.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/560
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1621 >
2024-06-17 12:04:15 +03:00
Sebastian Dröge
dd4c466265
deny: Add override for older tungstenite
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1616 >
2024-06-14 05:46:18 +00:00
Sebastian Dröge
1a03edd27d
webrtc: Update to async-tungstenite 0.26
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1616 >
2024-06-14 05:46:18 +00:00
Sebastian Dröge
61d2259b6b
webrtchttp: Fix race condition when unlocking
...
It would be possible that there is no cancellable yet when unlock() is
called, then a new future is executed and it wouldn't have any
information that it is not supposed to run at all.
To solve this remember if cancellation should happen and reset this
later.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1617 >
2024-06-13 13:19:41 +00:00
Sebastian Dröge
d7b2f15df6
aws: Fix race condition when unlocking
...
It would be possible that there is no cancellable yet when unlock() is
called, then a new future is executed and it wouldn't have any
information that it is not supposed to run at all.
To solve this remember if unlock() was called and reset this in
unlock_stop().
Also implement actual unlocking in s3hlssink.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1617 >
2024-06-13 13:19:41 +00:00
Sebastian Dröge
c59be26b5c
spotifyaudiosrc: Fix race condition when unlocking
...
It would be possible that there is no cancellable yet when unlock() is
called, then the setup task is started and it would simply run and being
waited on instead of not being run at all.
To solve this, remember if unlock() was called and reset this in
unlock_stop().
Also make sure to not keep the abort handle locked while waiting,
otherwise cancellation would never actually work.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1617 >
2024-06-13 13:19:41 +00:00
Sebastian Dröge
6fd184cc96
reqwesthttpsrc: Fix race condition when unlocking
...
It would be possible that there is no cancellable yet when unlock() is
called, then a new future is executed and it wouldn't have any
information that it is not supposed to run at all.
To solve this remember if unlock() was called and reset this in
unlock_stop().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1617 >
2024-06-13 13:19:41 +00:00
Sebastian Dröge
ec26fcc65a
ndi: Add support for loading NDI SDK v6
...
The library name and environment variable name have changed but the ABI
is completely compatible.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1615 >
2024-06-13 13:01:11 +00:00
Sebastian Dröge
ac79b52cff
rtp: Don't restrict payload types for payloaders
...
WebRTC uses payload types 35-63 as dynamic payload types too to be able
to place more codec variants into the SDP offer.
Instead of allowing just certain payload types, completely remove any
restrictions and let the user decide. There's technically nothing wrong
with using any payload type, especially when using the encoding-name.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/551
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1595 >
2024-06-13 12:37:52 +00:00
Francisco Javier Velázquez-García
205cc10e6e
webrtcsink: Refactor value retrieval to avoid lock poisoning
...
When setting an incorrect property name in settings,
start_stream_discovery_if_needed would panic because it attempts to
unwrap a poisoned lock for settings.
This refactor avoids that situation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1598 >
2024-05-31 12:41:45 +03:00
Francisco Javier Velázquez-García
3cdb350626
webrtcsink: Fix typo in property name for av1enc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1598 >
2024-05-31 12:41:45 +03:00
cdelguercio
88b8e35871
webrtcsink: Support av1 via nvav1enc, av1enc, and rav1enc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1597 >
2024-05-31 11:18:08 +03:00
Sebastian Dröge
9c3182132e
Update versions to 0.12.6
2024-05-23 17:20:54 +03:00
Sebastian Dröge
3c15b3109b
Update CHANGELOG.md for 0.12.6
2024-05-23 17:20:31 +03:00
Sebastian Dröge
8e0f10196f
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1582 >
2024-05-23 16:23:50 +03:00
cdelguercio
32b987d73e
webrtcsink: Add VP9 parser after the encoder for VP9 too
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1582 >
2024-05-23 16:21:54 +03:00
Sebastian Dröge
4be259035c
deny: Update with itertool 0.12 override
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1582 >
2024-05-23 16:21:45 +03:00
Sebastian Dröge
73158bf58b
aws: Update to base32 0.5
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1582 >
2024-05-23 16:21:25 +03:00
Robert Ayrapetyan
3036cadd20
webrtc: add support for insecure tls connections
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1582 >
2024-05-23 16:19:26 +03:00
Mathieu Duponchelle
ea832a6726
examples/dash_vod: compare durations to the millisecond
...
Otherwise when the segment durations aren't as clean cut as in the
example, multiple segments with the exact same duration in milliseconds
will get output, even though they could have been repeated.
Fix this so that people copying this code don't encounter the bug.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1582 >
2024-05-23 16:19:20 +03:00
Martin Nordholts
d0dc85293d
rtpgccbwe: Also log self.measure
in overuse_filter()
...
Also log `self.measure` in overuse_filter() since tracking
`self.measure` over time help a lot in making sense of
`self.estimate` (and `amplified_estimate`).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1582 >
2024-05-23 16:18:01 +03:00
Martin Nordholts
be72988545
rtpgccbwe: Rename variable t
to amplified_estimate
...
We normally multiply `self.estimate` with `MAX_DELTAS` (60).
Rename the variables that holds the result of this
calculation to `amplified_estimate` to make the distinction
clearer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1582 >
2024-05-23 16:17:56 +03:00
Sebastian Dröge
64949458ef
gtk4: Fix Python example in the non-GL code path
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1582 >
2024-05-23 16:17:50 +03:00