Mathieu Duponchelle
612279f421
gst_plugins_cache.json: generate tracer objects documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007 >
2024-12-23 18:37:55 +02:00
Sebastian Dröge
fa482cbed0
gtk4: Allow unused import for now
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007 >
2024-12-23 18:35:10 +02:00
Sebastian Dröge
feb1f45836
raptorqdec: Stop using deprecated API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007 >
2024-12-23 18:31:07 +02:00
Sebastian Dröge
230afc11ea
Fix / silence various new Rust 1.83 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007 >
2024-12-23 18:27:38 +02:00
Sebastian Dröge
24ebe1e2af
ci: Don't consider no runnable tests an error
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007 >
2024-12-23 18:19:18 +02:00
Sebastian Dröge
c84c6ba4ed
deny: Add override for duplicated aws-smithy-json dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007 >
2024-12-23 18:15:31 +02:00
Sebastian Dröge
f0ab59c6bb
deny: Add override for duplicated aws-smithy-json dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007 >
2024-12-23 18:14:17 +02:00
Sebastian Dröge
5413e67586
deny: Remove obsolete entries
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007 >
2024-12-23 18:14:04 +02:00
Sebastian Dröge
07d5fa3a09
deny: Update
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007 >
2024-12-23 18:13:50 +02:00
Sebastian Dröge
a29780750d
deny: Update
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007 >
2024-12-23 18:13:33 +02:00
Sebastian Dröge
2d6b123f6b
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007 >
2024-12-23 18:12:04 +02:00
Sanchayan Maity
6e67e7c378
docs: Fix CI failure due to missing GRAY10_LE16 entry
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007 >
2024-12-23 16:42:44 +02:00
Thibault Saunier
e0bef7d179
docs: Allow updating the plugins_cache.json files without generating documentation
...
There is no dependencies between the 2 things, and it is often useful to be able
to update the cache even if we are not generating the documentation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2000 >
2024-12-20 10:51:25 +02:00
Thibault Saunier
4764058efa
webrtcsrc: Add a 'connect-to-first-producer' property
...
This is an helper property which allows to avoid requiring to know
peer IDs, which is very useful during development.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/386
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2000 >
2024-12-20 10:51:25 +02:00
Mathieu Duponchelle
c2c8423e7f
gstwebrtc-api: example: use http by default
...
That way the webpage connects with ws:/ to the signaller.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/589
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1992 >
2024-12-16 15:14:41 +00:00
Mathieu Duponchelle
0ab583c3aa
webrtc-api example: do not rely on webpack / npm proxying websocket
...
Instead simply use the desired address directly from the reference
example, this makes it work out of the box without placing expectations
on the web server.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1991 >
2024-12-16 13:59:51 +00:00
Edward Hervey
cd8d2d6d04
cea708mux: Don't push empty services into packets
...
This is invalid. Only "padding" service 0 can be empty.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1989 >
2024-12-16 08:03:34 +00:00
Nirbheek Chauhan
f0a4cfebd6
meson: Enable crate features based on available gstreamer version
...
We shouldn't only enable the gstreamer features based on the available
gstreamer version (such as gst-base/v1_26), but also the plugin
features (such as v1_26).
This should help with situations like
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/634
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1982 >
2024-12-11 14:04:58 +00:00
Mathieu Duponchelle
9e848d3b75
webrtcsink: add nvh265enc support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1981 >
2024-12-11 13:13:42 +00:00
Matthew Waters
85a84ea854
deps: update cea708-types to 0.3.5
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1976 >
2024-12-11 23:05:16 +11:00
Matthew Waters
b46a060a74
cea708overlay: fix background/foreground type
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1976 >
2024-12-11 22:57:47 +11:00
Matthew Waters
70c6fb6228
cea708overlay: enable a black background by default
...
It is the recommended colour sceheme in CEA-608.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1976 >
2024-12-11 22:57:45 +11:00
Matthew Waters
1e04c11eb6
cea708overlay: produce a slightly more CEA-608 layout
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1976 >
2024-12-11 22:57:42 +11:00
Matthew Waters
9a614f68f8
tttocea708: log the bytes and times generated
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1976 >
2024-12-11 22:57:40 +11:00
Matthew Waters
56afb23f75
tttocea708: don't incorrectly recode timestamp to frame conversion on gap events
...
Simply use the already existing generate() which will convert from a timestamp
and duration into frames for processing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1976 >
2024-12-11 22:57:38 +11:00
Matthew Waters
897352fa91
cea708mux: handle different timestamped inputs
...
If different inputs have different framerates, then an input buffer may need
to be combined or split. Account for that in the aggregate loop.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1976 >
2024-12-11 22:57:35 +11:00
Matthew Waters
237460598f
cea708mux: output padding by default
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1976 >
2024-12-11 22:57:33 +11:00
Matthew Waters
54d9ffac7c
tttocea708: output CEA-X08 padding by default
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1976 >
2024-12-11 22:57:31 +11:00
Matthew Waters
f22b738c5a
cea708mux: forward CEA-608 data correctly
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1976 >
2024-12-11 22:57:29 +11:00
Taruntej Kanakamalla
6cf39d4a00
webrtc: use the nick to set enum type properties on openh264enc
...
The properties `rate-control` and `complexity` are of enum types and passing
a gint value is resulting in a panic. So pass the corresponding nick of the enum
value instead
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1971 >
2024-12-05 17:17:51 +00:00
Guillaume Desmottes
625eeccf25
webrtc: janus: handle slowlink event
...
Fix this warning:
webrtc-janusvr-signaller imp.rs:426:gstrswebrtc::janusvr_signaller:👿 :Signaller::handle_msg:<GstJanusVRWebRTCSignallerU64@0x7f317009b4d0> Unknown message from server: {
"janus": "slowlink",
"session_id": 980554280060589,
"sender": 5867141593320621,
"mid": "video0",
"media": "video",
"uplink": false,
"lost": 15
}
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1967 >
2024-12-04 13:05:26 +00:00
Guillaume Desmottes
8434126a58
webrtc: janus: handle slow_link videoroom event
...
Fix this warning:
webrtc-janusvr-signaller imp.rs:426:gstrswebrtc::janusvr_signaller:👿 :Signaller::handle_msg:<GstJanusVRWebRTCSignallerU64@0x7f317009b4d0> Unknown message from server: {
"janus": "event",
"session_id": 980554280060589,
"sender": 5867141593320621,
"plugindata": {
"plugin": "janus.plugin.videoroom",
"data": {
"videoroom": "slow_link",
"current-bitrate": 0
}
}
}
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1967 >
2024-12-04 13:05:26 +00:00
Edward Hervey
7aa1450b3a
gitlab-ci: Don't use massive image for cerbero trigger
...
Just use a lightweight alpine:latest image
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1960 >
2024-12-02 18:07:53 +00:00
Mathieu Duponchelle
f8178fbd21
webrtscink: fix deadlock when answering
...
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/637
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1959 >
2024-12-02 16:49:18 +00:00
Guillaume Desmottes
9ea8b6e3f3
togglerecord: release rec_state before pushing buffer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1962 >
2024-12-02 10:57:04 +00:00
Guillaume Desmottes
de0178ddca
togglerecord: move the next pad id to its own variable
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1958 >
2024-12-02 07:54:23 +00:00
Guillaume Desmottes
7e92f973ad
togglerecord: stop copying settings
...
It's racy as the settings values can be changed between the copy and
reading them.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1958 >
2024-12-02 07:54:23 +00:00
Guillaume Desmottes
5024be9f2e
togglerecord: define total order on mutexes
...
I'm tracking a bug which may or may not be related to a deadlock in
togglerecord.
I audited the code and figured we could define a total order on the
mutexes with just a few changes.
I don't know yet if that will help with my bug but it can't hurt to have
a order properly documented with so many mutexes involved.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1958 >
2024-12-02 07:54:23 +00:00
Guillaume Desmottes
8b798fb2ac
togglerecord: move pads and other_streams to State
...
Allow us to remove two mutexes, making dead locks easier to debug.
Also now use the State lock with `main_stream_cond` as we want to use
the higher order mutex in order to prevent dead locks.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1958 >
2024-12-02 07:54:23 +00:00
Guillaume Desmottes
571db6caaf
togglerecord: implement Debug on Stream and StreamState
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1958 >
2024-12-02 07:54:23 +00:00
Guillaume Desmottes
ea91c5e47a
togglerecord: document mutexes hold when calling ToggleRecord methods
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1958 >
2024-12-02 07:54:23 +00:00
Ruben Gonzalez
0821c39640
webrtcsink: add openh264enc support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1957 >
2024-11-29 23:08:45 +00:00
L. E. Segovia
a263f503c8
version-helper: Add script for setting the release date in Cargo.toml
...
See #599
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1953 >
2024-11-29 14:15:35 +00:00
Sebastian Dröge
3cccede612
webrtcsink: Set caps-change-mode=delayed on encoder capsfilter
...
Otherwise when changing the target caps (e.g. for reducing quality)
there is a race condition between buffers between the converter elements
and renegotiation.
For example, videoconvertscale might've output a 1920x1080 buffer, then
the capsfilter is configured to 1280x720, the buffer arrives in
videorate, videorate notices that renegotiation is pending, tries to
renegotiate and ends up with EMPTY caps because it can only change the
framerate but not the resolution.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1951 >
2024-11-29 12:39:20 +00:00
Edward Hervey
37d5a2495d
tttocea708: Fix off-by-one issue
...
last_frame_no is used to eventually calculate the outgoing pts. We want to
increment it *after* having created the content
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1952 >
2024-11-29 10:49:37 +00:00
Edward Hervey
c3a3f5ccdd
meson: Fix document of dependencies.py argument
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1944 >
2024-11-28 13:40:50 +00:00
Edward Hervey
2af278fda2
meson: Detect unrelease gstreamer version number
...
If the minor version is odd, it means we are depending on gstreamer main and
should therefore enable the features of the (upcoming) even minor version
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1944 >
2024-11-28 13:40:50 +00:00
Matthew Waters
0537734aee
webrtcsink: don't block the tokio runtime while holding state lock in unprepare()
...
It is possible that in unprepare(), waiting for a task to complete while
holding the state lock, that task may be waiting to acquire the state lock and
result in a deadlock.
This is quick to reproduce when starting and stopping webrtcsink in very quick
succession.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1932 >
2024-11-28 16:44:05 +11:00
Xavier Claessens
52f48d7279
webrtcsink: Ignore more fields in caps change
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1940 >
2024-11-27 12:18:33 +00:00
Sebastian Dröge
d032c52ff5
mpegtslivesrc: Fix mismatch between internal / external time usage
...
Previously the internal time was stored as base offset for calculating
the external time from the PCR, which resulted in disconts being
detected wrongly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1934 >
2024-11-21 12:55:36 +00:00