Mathieu Duponchelle
88a6b6d428
net/webrtc: Add missing npm command to README
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/589
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1747 >
2024-08-23 10:30:18 +00:00
Mathieu Duponchelle
4559b6a9f9
webrtcsink: fix segment format mismatch with remote offer
...
webrtcsink was starting the negotiation process on Ready and concurrently
moving the consumer pipeline to Playing, but when answering the remote
description was set so fast that input streams were connected (and the time
format set on appsrc) before the state change to Paused had completed.
This meant gst_base_src_start was happening after that and setting the format
back to bytes, the time segment that was next coming in then caused:
basesrc gstbasesrc.c:4255:gst_base_src_push_segment:<video_0> segment format mismatched, ignore
And the consumer pipeline errored out.
The same issue existed in theory when webrtcsink was creating the offer,
but was much harder to trigger as it required that the remote answer
came in before the state change to Paused had completed.
This commit fixes the issue by simply waiting for the state to have
changed to Paused before negotiating.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1738 >
2024-08-23 09:30:03 +00:00
Piotr Brzeziński
bd5154ebe4
cmafmux: Add opus support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1742 >
2024-08-23 08:11:46 +00:00
Sebastian Dröge
85151a6e4f
Fix various 1.80 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1740 >
2024-08-23 08:59:20 +03:00
Jordan Petridis
17938477ff
ci: Use the windows specific image tags
...
Followup to c5dfc87953
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1740 >
2024-08-22 15:26:35 +00:00
Sebastian Dröge
7d73038e3a
livesync: Report latency query results when handling latency query too
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1744 >
2024-08-22 10:48:21 +00:00
Jerome Colle
1abe0fd5fe
webrtcsink: add nvv4l2av1enc support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1743 >
2024-08-22 09:59:22 +00:00
Jordan Petridis
f194d8483b
ci: Pin the windows jobs to gstreamer runners for now
...
There seem to be some seemingly random failures if the
jobs get scheduled on the other windows runners,
and they need to be debugged further.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1741 >
2024-08-22 09:13:45 +01:00
Jordan Petridis
33379c78f0
ci: Update the .cargo/config file
...
```
warning: `/builds/alatiera/gst-plugins-rs/.cargo/config` is deprecated in favor of `config.toml`
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1741 >
2024-08-22 09:13:45 +01:00
Jordan Petridis
a240b0feed
ci: Add a default retry policy for jobs
...
Automatically retry if it's a system failure or similar
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1741 >
2024-08-22 09:13:45 +01:00
Jordan Petridis
80126b1c63
ci: Remove leftover scripts
...
Both of these have been moved in the main image for a while now
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1734 >
2024-08-21 11:41:15 +01:00
Sebastian Dröge
b99aab06f8
ndisrc: Move timestamp handling from demuxer to source
...
This allows putting correct timestamps on buffers coming out of the
source already instead of leaving them unset until the demuxer.
And also calculate timestamps for metadata buffers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1726 >
2024-08-17 01:17:47 +01:00
Tim-Philipp Müller
05cf05db23
ci: tag cerbero trigger job as placeholder job
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1723 >
2024-08-15 02:10:19 +00:00
Sebastian Dröge
71cd06e975
mpegtslivesrc: Handle PCR discontinuities as errors for now
...
More work is needed to make this work seemlessly and right now it would
simply cause invalid timestamps to be created.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1722 >
2024-08-14 18:30:06 +01:00
Sebastian Dröge
2e2af95e2d
hlssink3: Don't use is-live=true
...
This sometimes produces imperfect timestamps that cause the fragment
duration to be slightly different than expected.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1719 >
2024-08-14 14:02:06 +01:00
Tim-Philipp Müller
6aedda36b1
ci: set cerbero trigger job timeout to 4h
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1719 >
2024-08-14 14:02:06 +01:00
Dave Lucia
a3d6308579
net/webrtc: Fix turn-servers nick: user -> use
...
Noticed this typo
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1713 >
2024-08-14 09:34:59 +00:00
Sebastian Dröge
b673de4e07
webrtcsrc: Make sure to always call end_session()
without the state lock
...
This was already done in another place for the same reason: preventing a
deadlock. It's probably not correct as hinted by the FIXME comment but
better than deadlocking at least.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1715 >
2024-08-14 08:17:48 +00:00
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