François Laignel
158fe80779
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/1508 >
2024-03-21 13:30:20 +02:00
Guillaume Desmottes
a502dba6d5
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/1508 >
2024-03-21 13:30:20 +02:00
Guillaume Desmottes
be055f6dfa
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/1508 >
2024-03-21 13:30:20 +02:00
Sebastian Dröge
c982db73a7
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/1508 >
2024-03-21 13:30:20 +02:00
Sebastian Dröge
4def418b45
fmp4mux: Move away from deprecated chrono function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1508 >
2024-03-20 16:24:55 +01:00
Sebastian Dröge
dab1ff7dd9
version-helper: Use non-deprecated type alias from toml_edit
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1508 >
2024-03-20 16:24:55 +01:00
Sebastian Dröge
c0970c6cf4
deny: Add override for heck 0.4
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1508 >
2024-03-20 16:24:55 +01:00
Guillaume Desmottes
21f59c65da
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/1508 >
2024-03-20 16:24:55 +01:00
Mathieu Duponchelle
2374147b0b
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/1508 >
2024-03-20 16:24:55 +01:00
Guillaume Desmottes
3f0c6e654b
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/1508 >
2024-03-20 16:24:55 +01:00
Nirbheek Chauhan
ce2aa0aecf
meson: Disable docs completely when the option is disabled
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1508 >
2024-03-20 16:24:55 +01:00
Guillaume Desmottes
6b7e41e551
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/1508 >
2024-03-20 16:24:55 +01:00
Guillaume Desmottes
40402f8e58
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/1508 >
2024-03-20 16:24:55 +01:00
Guillaume Desmottes
14ed7b0db1
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/1508 >
2024-03-20 16:24:55 +01:00
Guillaume Desmottes
2d350252c0
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/1508 >
2024-03-20 16:24:55 +01:00
Seungha Yang
2cb76f2ff2
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/1508 >
2024-03-20 16:24:55 +01:00
Jordan Yelloz
7a90e96332
livekit_signaller: Added missing getter for excluded-producer-peer-ids
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1508 >
2024-03-20 16:24:55 +01:00
Jordan Yelloz
283d1568b4
webrtcsrc: Removed incorrect URIHandler from LiveKit source
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1508 >
2024-03-20 16:24:55 +01:00
Sebastian Dröge
12533a4c0d
Remove empty line from the CHANGELOG.md that confuses the GitLab renderer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1508 >
2024-03-20 16:24:55 +01:00
Jordan Yelloz
51287705ce
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/1508 >
2024-03-20 16:24:55 +01:00
Jordan Yelloz
e9edee131b
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/1508 >
2024-03-20 16:24:55 +01:00
Jordan Yelloz
feb01510f9
webrtcsrc: Updated readme for LiveKit source
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1508 >
2024-03-20 16:24:55 +01:00
Jordan Yelloz
32e13f0a10
webrtcsrc: Added LiveKit source element
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1508 >
2024-03-20 16:24:55 +01:00
Jordan Yelloz
c8dcd50846
webrtcsink: Updated livekitwebrtcsink for new signaller constructor
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1508 >
2024-03-20 16:24:55 +01:00
Jordan Yelloz
59ee2721bf
livekit_signaller: Added dual-role support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1508 >
2024-03-20 16:24:55 +01:00
Guillaume Desmottes
133b527391
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/1508 >
2024-03-20 16:54:45 +02:00
Guillaume Desmottes
7f460c2db8
webrtc: janus: room id not optional in 'joined' message
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1508 >
2024-03-20 16:54:17 +02:00
Guillaume Desmottes
8361471fcc
webrtc: janus: remove 'audio' and 'video' from publish messages
...
Those are deprecated and no longer used.
See https://janus.conf.meetecho.com/docs/videoroom and
https://github.com/meetecho/janus-gateway/blob/master/src/plugins/janus_videoroom.c#L9894
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1508 >
2024-03-20 16:54:02 +02:00
Guillaume Desmottes
b9ea05a14a
webrtc: janus: numerical room ids are u64
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1508 >
2024-03-20 16:53:51 +02:00
Jordan Yelloz
048d51d9d9
webrtcsrc: Made producer-peer-id optional
...
It may be necessary for some signalling clients but the source element
doesn't need to depend on it.
Also, the value will fall back to the pad's MSID for the first argument
to the request-encoded-filter gobject signal when it isn't available
from the signalling client.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1508 >
2024-03-20 16:53:22 +02:00
Sebastian Dröge
55b74c9a9a
Update Cargo.lock
2024-02-26 14:56:22 +02:00
Sebastian Dröge
c6841e1e74
Update versions to 0.12.2
2024-02-26 14:55:51 +02:00
Sebastian Dröge
3a50489dac
Update CHANGELOG.md for 0.12.2
2024-02-26 14:55:29 +02:00
Sebastian Dröge
078c76c260
deny: Add zerocopy 0.6 duplicate override for librespot
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1476 >
2024-02-26 14:26:36 +02:00
Sebastian Dröge
3ac010bfb6
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1476 >
2024-02-26 14:25:33 +02:00
Xavier Claessens
7edf94f98b
janusvr: Add string-ids property
...
It forces usage of strings even if it can be parsed into an integer.
This allows joining room `"133"` in a server configured with string
room ids.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1476 >
2024-02-26 14:24:29 +02:00
Xavier Claessens
ea59544c71
janusvr: Room IDs can be strings
...
Sponsored-by: Netflix Inc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1476 >
2024-02-26 14:24:25 +02:00
Sebastian Dröge
0b96457395
fmp4mux: Update to dash-mpd 0.15
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1476 >
2024-02-26 14:24:17 +02:00
Xavier Claessens
5888f5aa5f
meson: Fix error when default_library=both
...
Skip duplicated plugin_name when we have both the static and shared
plugin in the plugins list.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1476 >
2024-02-26 14:24:08 +02:00
Maksym Khomenko
4e86b0f3c8
webrtcsink: extensions: separate API and signal checks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1476 >
2024-02-26 14:24:02 +02:00
Maksym Khomenko
98411e97f1
webrtcsink: apply rustfmt
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1476 >
2024-02-26 14:23:56 +02:00
Mathieu Duponchelle
8211c253a8
textwrap: don't split on all whitespaces ..
...
but only on ASCII whitespaces, as we want to honor non-breaking
whitespaces (\u{a0})
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1476 >
2024-02-26 14:23:50 +02:00
Xavier Claessens
3a0f30be96
janusvr: Add secret-key property
...
Every API calls have an optional "apisecret" argument.
Sponsored-by: Netflix Inc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1476 >
2024-02-26 14:23:45 +02:00
Sebastian Dröge
de7e4806e5
deny: Add winnow 0.5 override
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1476 >
2024-02-26 14:23:38 +02:00
Sebastian Dröge
27d806ae85
Remove Cargo.lock from .gitignore
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1476 >
2024-02-26 14:21:00 +02:00
Sebastian Dröge
3679db5740
rtpgccbwe: Don't reset PTS/DTS to None
...
The element is usually placed before `rtpsession`, and `rtpsession`
needs the PTS/DTS for correctly determining the running time. The
running time is then used to produce correct RTCP SR, and to potentially
update an NTP-64 RTP header extension if existing on the packets.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/496
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1476 >
2024-02-26 14:20:53 +02:00
Sebastian Dröge
2f2aac55a3
Update version to 0.12.1
2024-02-13 13:02:27 +02:00
Sebastian Dröge
31dfcd0a78
Update CHANGELOG.md for 0.12.1
2024-02-13 13:01:46 +02:00
Sebastian Dröge
b3e233f0c5
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1460 >
2024-02-13 12:37:23 +02:00
Sebastian Dröge
58a065caf3
textwrap: Remove unnecessary to_string()
in debug output of a string
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1460 >
2024-02-13 12:35:40 +02:00