Guillaume Desmottes
dad755ece3
gtk4: log paintable size in snapshot
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1712 >
2024-08-13 21:45:16 +00:00
Mathieu Duponchelle
c87ddd43e4
webrtcsink: fix assertions when finalizing
...
Dumping the pipeline on state changes from an async bus handler was
triggering criticals.
Instead, dump from the sync handler.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1714 >
2024-08-13 18:07:13 +01:00
Sebastian Dröge
19cb695ce0
rtp: mp4gpay: Don't set seqnum-base on the caps
...
This is supposed to be set by another layer, e.g. rtspsrc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1705 >
2024-08-10 11:46:04 +01:00
Sebastian Dröge
bc81e78873
rtp: basepay: Fix off-by-one with seqnum-offset
...
Setting a seqnum-offset of 1 would've caused the first packet to have a
seqnum of 2 instead of 1.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1705 >
2024-08-10 11:46:04 +01:00
Sebastian Dröge
489021ed55
rtp: basepay: Don't negotiate twice in the beginning
...
If srcpad caps are already set as part of sinkpad caps handling, unset
the reconfigure flag so negotiation does not happen yet another time on
the first buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1705 >
2024-08-10 11:46:03 +01:00
Sebastian Dröge
76f21f3b50
rtp: basepay: Negotiate SSRC and PT with downstream if not set via property
...
This makes the new payloaders closer to the old ones, and makes usage in
webrtcbin easier.
Also properly configure default PT of subclasses. Previously any PT that
was set for these subclasses via g_object_new() would be overridden by
the default one during construction.
Additionally, do SSRC collision handling while queueing output packets.
This is the more natural place as that's where the SSRC is actually
used, it happens potentially earlier and also allows to drain any
pending packets before the SSRC change in the caps.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/557
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1705 >
2024-08-10 11:46:03 +01:00
Sebastian Dröge
2d2aab3f3c
rtp: basepay: Initialize class fields
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1705 >
2024-08-10 11:46:03 +01:00
Sebastian Dröge
3cce3f18c1
rtp: basepay: Don't unset stats on FlushStop
...
They are still valid and unsetting them here would cause no stats to
ever be updated again until the next state change.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1705 >
2024-08-10 11:46:03 +01:00
Sebastian Dröge
f020fdac93
rtp: basepay: Don't use suggested SSRC on collissions if it's the current one
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1705 >
2024-08-10 11:46:03 +01:00
Sebastian Dröge
0c397179da
fmp4mux: Remove _ prefix of actually used parameter
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1698 >
2024-08-07 14:12:38 +00:00
Sebastian Dröge
d5a7e39ec6
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/1698 >
2024-08-07 14:12:38 +00:00
Sebastian Dröge
c712b36082
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/1700 >
2024-08-07 12:00:57 +00:00
sergey radionov
228c75f80f
fmp4mux: added image orientation tag support
...
fix #565
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1696 >
2024-08-07 11:17:59 +00:00
Guillaume Desmottes
88d070f815
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/1697 >
2024-08-07 10:37:04 +01:00
Guillaume Desmottes
5f234d734e
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/1697 >
2024-08-07 10:37:04 +01:00
Jordan Petridis
d68312989c
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/1687 >
2024-08-05 09:41:18 +01:00
Sebastian Dröge
4f6b4093d0
ci: Use gstreamer-rs 0.23 CI image templates
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1685 >
2024-08-05 06:20:07 +00:00
Mathieu Duponchelle
27770324c7
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/1681 >
2024-07-30 12:41:35 +01:00
Loïc Le Page
4bef63ba26
gstwebrtc-api: always include index file in dist for convenience
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1675 >
2024-07-18 23:38:56 +00:00
Sebastian Dröge
0d83350f0e
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/1676 >
2024-07-18 20:49:59 +01:00
Sebastian Dröge
fea2343968
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:06:54 +03:00
Sebastian Dröge
e28c62bb58
gopbuffer: Add version to gst-plugin-version-helper dependency
2024-07-16 19:04:32 +03:00
Sebastian Dröge
06fb47d197
webrtc: Add version to gst-plugin-webrtc-protocol dependency
2024-07-16 18:59:19 +03:00
Sebastian Dröge
5cba0c1d12
Add versions to gst-plugin-gtk4 dependencies for examples
2024-07-16 18:57:29 +03:00
Sebastian Dröge
2566ddaa22
Update CHANGELOG.md for 0.13.0
2024-07-16 18:37:55 +03:00
François Laignel
b50f76223c
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-16 12:47:33 +03:00
François Laignel
170cb76458
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-16 12:47:33 +03:00
Sanchayan Maity
9d7285d227
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-16 12:47:33 +03:00
Sebastian Dröge
d62429cf76
Update to released versions of gtk-rs-core / gtk4-rs / gstreamer-rs
2024-07-11 21:25:58 +03:00
Sebastian Dröge
586bd3928c
Update version to 0.13.0
2024-07-11 21:23:51 +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
Philippe Normand
eee93aea52
rtp2: Fix typo on auto-header-extension property name
...
The rtp (de)pay elements use auto-header-extension so the new elements should do
the same.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1646 >
2024-07-02 09:35:39 +01:00
Edward Hervey
95ae67752f
net: New mpegtslive element
...
This element allows wrapping an existing live "mpeg-ts source" (udpsrc,
srtsrc,...) and providing a clock based on the actual PCR of the stream.
Combined with `tsdemux ignore-pcr=True` downstream of it, this allows playing
back the content at the same rate as the (remote) provider **and** not modify
the original timestamps.
Co-authored-by: Sebastian Dröge <slomo@coaxion.net>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1640 >
2024-07-01 15:29:22 +02:00
Mathieu Duponchelle
0ef886ea16
transcriberbin: fix internal ghost pad name regression
...
As part of https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1593
source pad names on inner transcription bins were appended a suffix, but
other pieces of the code were not updated to account for that.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1645 >
2024-07-01 11:47:39 +02:00
leonardo salvatore
f303992e0c
webrtcsink: initial support for vpuenc_h264 encoder for imx8mp, default values set to cover a common streaming scenario
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1639 >
2024-07-01 07:34:04 +00:00