François Laignel
c5e7e76e4d
webrtcsrc: add do-retransmission property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1509 >
2024-03-21 07:25:30 +00:00
Sebastian Dröge
6556d31ab8
livesync: Ignore another racy test
...
Same problem as https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/328
2024-03-21 09:27:09 +02:00
François Laignel
5476e3d759
webrtcsink: prevent video-info error log for audio streams
...
The following error is logged when `webrtcsink` is feeded with an audio stream:
> ERROR video-info video-info.c:540:gst_video_info_from_caps:
> wrong name 'audio/x-raw', expected video/ or image/
This commit bypasses `VideoInfo::from_caps` for audio streams.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1511 >
2024-03-20 19:57:45 +01:00
François Laignel
cc7b7d508d
rtp: gccbwe: don't break downstream assumptions pushing buffer lists
...
Some elements in the RTP stack assume all buffers in a `gst::BufferList`
correspond to the same timestamp. See in [`rtpsession`] for instance.
This also had the effect that `rtpsession` did not create correct RTCP as it
only saw some of the SSRCs in the stream.
`rtpgccbwe` formed a packet group by gathering buffers in a `gst::BufferList`,
regardless of whether they corresponded to the same timestamp, which broke
synchronization under certain circonstances.
This commit makes `rtpgccbwe` push the buffers as they were received: one by one.
[`rtpsession`]: bc858976db/subprojects/gst-plugins-good/gst/rtpmanager/gstrtpsession.c (L2462)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1502 >
2024-03-20 18:19:14 +00:00
Sebastian Dröge
2b9272c7eb
fmp4mux: Move away from deprecated chrono function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1503 >
2024-03-20 15:37:18 +02:00
Sebastian Dröge
cca3ebf520
rtp: Switch from chrono to time
...
Which allows to simplify quite a bit of code and avoids us having to
handle some API deprecations.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1503 >
2024-03-20 15:05:39 +02:00
Sebastian Dröge
428f670753
version-helper: Use non-deprecated type alias from toml_edit
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1503 >
2024-03-19 18:16:42 +02:00
Sebastian Dröge
fadb7d0a26
deny: Add override for heck 0.4
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1503 >
2024-03-19 17:52:32 +02:00
Sebastian Dröge
2a88e29454
originalbufferstore: Update for VideoMetaTransform
-> VideoMetaTransformScale
rename
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1503 >
2024-03-19 17:51:41 +02:00
Sebastian Dröge
bfff0f7d87
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1503 >
2024-03-19 17:50:32 +02:00
Guillaume Desmottes
96337d5234
webrtc: allow resolution and framerate input changes
...
Some changes do not require a WebRTC renegotiation so we can allow
those.
Fix #515
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1498 >
2024-03-18 14:52:01 +01:00
Tim-Philipp Müller
eb49459937
rtp: m2pt: add some unit tests
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1493 >
2024-03-16 10:07:37 +00:00
Tim-Philipp Müller
ce3960f37f
rtp: Add MPEG-TS RTP payloader
...
Pushes out pending TS packets on EOS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1493 >
2024-03-16 10:07:37 +00:00
Tim-Philipp Müller
9f07ec35e6
rtp: Add MPEG-TS RTP depayloader
...
Can handle different packet sizes, also see:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1310
Has clock-rate=90000 as spec prescribes, see:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/691
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1493 >
2024-03-16 10:07:37 +00:00
Mathieu Duponchelle
f4366f8b2e
gstregex: add support for switches exposed by RegexBuilder
...
The builder allows for instance for switching off case-sensitiveness for
the entire pattern, instead of having to do so inline with `(?i)`.
All the options exposed by the builder at
<https://docs.rs/regex/latest/regex/struct.RegexBuilder.html > can now be
passed as fields of invidual commands, snake-cased.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1497 >
2024-03-15 17:41:39 +00:00
Guillaume Desmottes
523a46b4f5
gtk4: scale texture position
...
Fix regression in 0.12 introduced by 3423d05f77
Code from Ivan Molodetskikh suggested on Matrix.
Fix #519
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1499 >
2024-03-15 13:43:32 +01:00
Nirbheek Chauhan
6f8fc5f178
meson: Disable docs completely when the option is disabled
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1496 >
2024-03-14 15:30:17 +05:30
Guillaume Desmottes
8f997ea4e3
webrtc: janus: handle 'hangup' messages from Janus
...
Fix error about this message not being handled:
{
"janus": "hangup",
"session_id": 4758817463851315,
"sender": 4126342934227009,
"reason": "Close PC"
}
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1481 >
2024-03-13 10:14:38 +00:00
Guillaume Desmottes
992f8d9a5d
webrtc: janus: handle 'destroyed' messages from Janus
...
Fix this error when the room is destroyed:
ERROR webrtc-janusvr-signaller imp.rs:413:gstrswebrtc::janusvr_signaller:👿 :Signaller::handle_msg:<GstJanusVRWebRTCSignallerU64@0x55b166a3fe40> Unknown message from server: {
"janus": "event",
"session_id": 6667171862739941,
"sender": 1964690595468240,
"plugindata": {
"plugin": "janus.plugin.videoroom",
"data": {
"videoroom": "destroyed",
"room": 8320333573294267
}
}
}
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1481 >
2024-03-13 10:14:38 +00:00
Guillaume Desmottes
9c6a39d692
webrtc: janus: handle (stopped-)talking events
...
Expose those events using a signal.
Fix those errors when joining a Janus room configured with
'audiolevel_event: true'.
ERROR webrtc-janusvr-signaller imp.rs:408:gstrswebrtc::janusvr_signaller:👿 :Signaller::handle_msg:<GstJanusVRWebRTCSignaller@0x560cf2a55100> Unknown message from server: {
"janus": "event",
"session_id": 2384862538500481,
"sender": 1867822625190966,
"plugindata": {
"plugin": "janus.plugin.videoroom",
"data": {
"videoroom": "talking",
"room": 7564250471742314,
"id": 6815475717947398,
"mindex": 0,
"mid": "0",
"audio-level-dBov-avg": 37.939998626708984
}
}
}
ERROR webrtc-janusvr-signaller imp.rs:408:gstrswebrtc::janusvr_signaller:👿 :Signaller::handle_msg:<GstJanusVRWebRTCSignaller@0x560cf2a55100> Unknown message from server: {
"janus": "event",
"session_id": 2384862538500481,
"sender": 1867822625190966,
"plugindata": {
"plugin": "janus.plugin.videoroom",
"data": {
"videoroom": "stopped-talking",
"room": 7564250471742314,
"id": 6815475717947398,
"mindex": 0,
"mid": "0",
"audio-level-dBov-avg": 40.400001525878906
}
}
}
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1481 >
2024-03-13 10:14:38 +00:00
Guillaume Desmottes
b29a739fb2
uriplaylistbin: disable racy test
...
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/514
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1494 >
2024-03-12 16:57:22 +01:00
Guillaume Desmottes
1dea8f60a8
threadshare: disable racy tests
...
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/250
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1494 >
2024-03-12 16:54:21 +01:00
Guillaume Desmottes
2629719b4e
livesync: disable racy tests
...
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/328
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/357
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1494 >
2024-03-12 16:32:47 +01:00
Guillaume Desmottes
9e6e8c618e
togglerecord: disable racy test_two_stream_close_open_nonlivein_liveout test
...
See https://gitlab.freedesktop.org/gdesmott/gst-plugins-rs/-/jobs/56183085
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1494 >
2024-03-12 16:21:52 +01:00
François Laignel
995f64513d
Update Cargo.lock to use latest gstreamer-rs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1491 >
2024-03-11 14:42:36 +01:00
François Laignel
5b01e43a12
webrtc: update further to WebRTCSessionDescription sdp accessor changes
...
See: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1406
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1491 >
2024-03-11 13:39:19 +01:00
Guillaume Desmottes
03abb5c681
spotify: document how to use with non Facebook accounts
...
See discussion on #203 .
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1490 >
2024-03-11 09:46:40 +01:00
Zhao, Gang
7a46377627
rtp: tests: Simplify loop
...
All buffers can be added in 100 outer loops. Add buffer less than 200 in the last (i = 99) loop.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1489 >
2024-03-10 16:47:30 +08:00
Olivier Crête
15e7a63e7b
originalbuffer: Pair of elements to keep and restore original buffer
...
The goal is to be able to get back the original buffer
after performing analysis on a transformed version. Then put the
various GstMeta back on the original buffer.
An example pipeline would be
.. ! originalbuffersave ! videoscale ! analysis ! originalbufferestore ! draw_overlay ! sink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1428 >
2024-03-08 15:15:13 -05:00
Guillaume Desmottes
612f863ee9
webrtc: janusvrwebrtcsink: add 'use-string-ids' property
...
Instead of exposing all ids properties as strings, we now have two
signaller implementations exposing those properties using their actual
type. This API is more natural and save the element and application
conversions when using numerical ids (Janus's default).
I also removed the 'joined-id' property as it's actually the same id as
'feed-id'. I think it would be better to have a 'janus-state' property or
something like that for applications willing to know when the room has
been joined.
This id is also no longer generated by the element by default, as Janus
will take care of generating one if not provided.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1486 >
2024-03-07 09:34:58 +01:00
Seungha Yang
237f22d131
sccparse: Ignore invalid timecode during seek as well
...
sccparse holds last timecode in order to ignore invalid timecode
and fallback to the previous timecode. That should happen
when sccparse is handling seek event too. Otherwise single invalid
timecode before the target seek position will cause flow error.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1485 >
2024-03-06 11:12:04 +00:00
Sebastian Dröge
2839e0078b
rtp: Port RTP AV1 payloader/depayloader to new base classes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1472 >
2024-03-06 09:40:35 +00:00
Jordan Yelloz
0414f468c6
livekit_signaller: Added missing getter for excluded-producer-peer-ids
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1484 >
2024-03-04 10:08:11 -07:00
Jordan Yelloz
8b0731b5a2
webrtcsrc: Removed incorrect URIHandler from LiveKit source
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1484 >
2024-03-04 09:44:01 -07:00
Guillaume Desmottes
7d0397e1ad
uriplaylistbin: re-enable all tests
...
They now seem to work reliably. \o/
Fix #194
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1471 >
2024-03-04 12:00:13 +01:00
Guillaume Desmottes
f6476f1e8f
uriplaylistbin: use vp9 in test media
...
The Windows CI runner does not have a Theora decoder so those tests were
failing there.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1471 >
2024-03-04 12:00:13 +01:00
Guillaume Desmottes
cfebc32b82
uriplaylistbin: tests: use fakesink sync=true
...
Tests is more reliable when using sync sink.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1471 >
2024-03-04 11:17:11 +01:00
Guillaume Desmottes
721b7e9c8c
uriplaylistbin: rely on new uridecodebin3 gapless logic
...
uridecodebin3 can now properly handle gapless switches so use that
instead of our own very complicated logic.
Fix #268
Fix #193
Depends on gst 1.23.90 as the plugin requires recent fixes to work properly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1471 >
2024-03-04 11:17:11 +01:00
Guillaume Desmottes
1e88971ec8
uriplaylistbin: pass valid URI in tests
...
Fix critical raised by libsoup,
see https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/346
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1471 >
2024-03-04 11:06:19 +01:00
Sebastian Dröge
8a6bcb712f
Remove empty line from the CHANGELOG.md that confuses the GitLab renderer
2024-03-01 16:46:21 +02:00
Jordan Yelloz
002dc36ab9
livekit_signaller: Improved shutdown behavior
...
Without sending a Leave request to the server before disconnecting, the
disconnected client will appear present and stuck in the room for a little
while until the server removes it due to inactivity.
After this change, the disconnecting client will immediately leave the room.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1482 >
2024-02-29 08:21:13 -07:00
Sebastian Dröge
9c590f4223
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1483 >
2024-02-29 10:09:09 +00:00
Jordan Yelloz
f0b408d823
webrtcsrc: Removed flag setup from WhipServerSrc
...
It's already done in the base class
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1461 >
2024-02-28 11:25:58 -07:00
Jordan Yelloz
17b2640237
webrtcsrc: Updated readme for LiveKit source
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1461 >
2024-02-28 11:25:58 -07:00
Jordan Yelloz
fa006b9fc9
webrtcsrc: Added LiveKit source element
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1461 >
2024-02-28 11:25:58 -07:00
Jordan Yelloz
96037fbcc5
webrtcsink: Updated livekitwebrtcsink for new signaller constructor
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1461 >
2024-02-28 11:25:58 -07:00
Jordan Yelloz
730b3459f1
livekit_signaller: Added dual-role support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1461 >
2024-02-28 11:25:49 -07:00
Guillaume Desmottes
60bb72ddc3
webrtc: janus: add joined-id property to the signaller
...
Fix #504
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1480 >
2024-02-28 15:05:11 +01:00
Guillaume Desmottes
eabf31e6d0
webrtc: janus: rename RoomId to JanusId
...
Those weird ids are used in multiple places, not only for the room id,
so best to have a more generic name.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1480 >
2024-02-28 15:05:11 +01:00
Guillaume Desmottes
550018c917
webrtc: janus: room id not optional in 'joined' message
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1480 >
2024-02-28 14:16:46 +01:00