gst-plugins-rs merge requestshttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests2024-03-28T04:19:14Zhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1406closedcaption: add support for writing 708 captions when transcribing2024-03-28T04:19:14ZMatthew Watersmatthew@centricular.comclosedcaption: add support for writing 708 captions when transcribingIncludes:
- new `tttocea708` element for writing 708 captions similar to `tttocea608`
- new `cea708mux` element for muxing together 708 services and 608 compatibility bytes
- configuration on transcriberbin to optionally write 708 data.Includes:
- new `tttocea708` element for writing 708 captions similar to `tttocea608`
- new `cea708mux` element for muxing together 708 services and 608 compatibility bytes
- configuration on transcriberbin to optionally write 708 data.GStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1522rtpgccbwe: Add increasing_duration and counter to existing gst::log!()2024-03-27T16:20:30ZMartin Nordholtsrtpgccbwe: Add increasing_duration and counter to existing gst::log!()Add `self.increasing_duration` and `self.increasing_counter`
to logs to provide more details of why `overuse_filter()`
determines overuse of network.
To get access to the latest values of those fields we need
to move down the log call. ...Add `self.increasing_duration` and `self.increasing_counter`
to logs to provide more details of why `overuse_filter()`
determines overuse of network.
To get access to the latest values of those fields we need
to move down the log call. But that is fine, since no other
logged data is modified between the old and new location of
`gst::log!()`.
We do not bother logging `self.last_overuse_estimate` since
that is simply the previously logged value of `estimate`. We
must put the log call before we write the latest value to it
though, in case we want to log it in the future.GStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1521aws: improve error message logs2024-03-26T21:04:05ZFrançois Laignelaws: improve error message logsThe `Display` and `Debug` trait for the AWS error messages are not very useful.
- `Display` only prints the high level error, e.g.: "service error".
- `Debug` prints all the fields in the error stack, resulting in hard to read
message...The `Display` and `Debug` trait for the AWS error messages are not very useful.
- `Display` only prints the high level error, e.g.: "service error".
- `Debug` prints all the fields in the error stack, resulting in hard to read
messages with redudant or unnecessary information. E.g.:
> ServiceError(ServiceError { source: BadRequestException(BadRequestException {
> message: Some("1 validation error detected: Value 'test' at 'languageCode'
> failed to satisfy constraint: Member must satisfy enum value set: [ar-AE,
> zh-HK, en-US, ar-SA, zh-CN, fi-FI, pl-PL, no-NO, nl-NL, pt-PT, es-ES, th-TH,
> de-DE, it-IT, fr-FR, ko-KR, hi-IN, en-AU, pt-BR, sv-SE, ja-JP, ca-ES, es-US,
> fr-CA, en-GB]"), meta: ErrorMetadata { code: Some("BadRequestException"),
> message: Some("1 validation error detected: Value 'test' at 'languageCode'
> failed to satisfy constraint: Member must satisfy enum value set: [ar-AE,
> zh-HK, en-US, ar-SA, zh-CN, fi-FI, pl-PL, no-NO, nl-NL, pt-PT, es-ES, th-TH,
> de-DE, it-IT, fr-FR, ko-KR, hi-IN, en-AU, pt-BR, sv-SE, ja-JP, ca-ES, es-US,
> fr-CA, en-GB]"), extras: Some({"aws_request_id": "1b8bbafd-5b71-4ba5-8676-28432381e6a9"}) } }),
> raw: Response { status: StatusCode(400), headers: Headers { headers:
> {"x-amzn-requestid": HeaderValue { _private: H0("1b8bbafd-5b71-4ba5-8676-28432381e6a9") },
> "x-amzn-errortype": HeaderValue { _private:
> H0("BadRequestException:http://internal.amazon.com/coral/com.amazonaws.transcribe.streaming/") },
> "date": HeaderValue { _private: H0("Tue, 26 Mar 2024 17:41:31 GMT") },
> "content-type": HeaderValue { _private: H0("application/x-amz-json-1.1") },
> "content-length": HeaderValue { _private: H0("315") }} }, body: SdkBody {
> inner: Once(Some(b"{\"Message\":\"1 validation error detected: Value 'test'
> at 'languageCode' failed to satisfy constraint: Member must satisfy enum value
> set: [ar-AE, zh-HK, en-US, ar-SA, zh-CN, fi-FI, pl-PL, no-NO, nl-NL, pt-PT,
> es-ES, th-TH, de-DE, it-IT, fr-FR, ko-KR, hi-IN, en-AU, pt-BR, sv-SE, ja-JP,
> ca-ES, es-US, fr-CA, en-GB]\"}")), retryable: true }, extensions: Extensions {
> extensions_02x: Extensions, extensions_1x: Extensions } } })
This commit adopts the most informative and concise solution I could come up
with to log AWS errors. With the above error case, this results in:
> service error: Error { code: "BadRequestException", message: "1 validation
> error detected: Value 'test' at 'languageCode' failed to satisfy constraint:
> Member must satisfy enum value set: [ar-AE, zh-HK, en-US, ar-SA, zh-CN, fi-FI,
> pl-PL, no-NO, nl-NL, pt-PT, es-ES, th-TH, de-DE, it-IT, fr-FR, ko-KR, hi-IN,
> en-AU, pt-BR, sv-SE, ja-JP, ca-ES, es-US, fr-CA, en-GB]",
> aws_request_id: "a40a32a8-7b0b-4228-a348-f8502087a9f0" }GStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1520aws: use fixed BehaviorVersion2024-03-26T17:45:34ZFrançois Laignelaws: use fixed BehaviorVersionQuoting [`BehaviorVersion` documentation]:
> Over time, new best-practice behaviors are introduced. However, these
> behaviors might not be backwards compatible. For example, a change which
> introduces new default timeouts or a new ret...Quoting [`BehaviorVersion` documentation]:
> Over time, new best-practice behaviors are introduced. However, these
> behaviors might not be backwards compatible. For example, a change which
> introduces new default timeouts or a new retry-mode for all operations might
> be the ideal behavior but could break existing applications.
This commit uses `BehaviorVersion::v2023_11_09()`, which is the latest
major version at the moment. When a new major version is released, the method
will be deprecated, which will warn us of the new version and let us decide
when to upgrade, after any changes if required. This is safer that using
`latest()` which would silently use a different major version, possibly
breaking existing code.
[`BehaviorVersion` documentation]: https://docs.rs/aws-config/1.1.8/aws_config/struct.BehaviorVersion.htmlGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1349gopbuffer: a new element that will at least buffer a complete GOP2024-03-26T04:52:08ZMatthew Watersmatthew@centricular.comgopbuffer: a new element that will at least buffer a complete GOPUses the DELTA_UNIT buffer flag and is not really codec specific.Uses the DELTA_UNIT buffer flag and is not really codec specific.GStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1513ci: Add a job to trigger a cerbero build, similar to the monorepo2024-03-24T00:20:21ZNirbheek Chauhannirbheek.chauhan@gmail.comci: Add a job to trigger a cerbero build, similar to the monorepoThis should help prevent breakage like https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/1418.This should help prevent breakage like https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/1418.GStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1510reqwest: Update to reqwest 0.122024-03-23T12:59:23ZSebastian Drögereqwest: Update to reqwest 0.12GStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1512Fix clippy warnings after upgrade to Rust 1.772024-03-21T17:57:29ZPhilippe NormandFix clippy warnings after upgrade to Rust 1.77GStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/15080.12 backports2024-03-21T11:51:27ZSebastian Dröge0.12 backportsGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1511webrtcsink: prevent video-info error log for audio streams2024-03-21T11:30:28ZFrançois Laignelwebrtcsink: prevent video-info error log for audio streamsThe 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::...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.GStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1502rtp: gccbwe: don't break downstream assumptions pushing buffer lists2024-03-21T11:30:28ZFrançois Laignelrtp: gccbwe: don't break downstream assumptions pushing buffer listsSome 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 ...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 MR makes `rtpgccbwe` push the buffers as they were received: one by one.
@meh @slomo
[`rtpsession`]: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/bc858976db163bd72e19cac7b1c339faf58e053d/subprojects/gst-plugins-good/gst/rtpmanager/gstrtpsession.c#L2462GStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1481webrtc: janus: handle (stopped-)talking events2024-03-21T11:30:27ZGuillaume Desmotteswebrtc: janus: handle (stopped-)talking eventsExpose those events using a signal.
Fix those errors when joining a Janus room configured with
'audiolevel_event: true'.
webrtc-janusvr-signaller imp.rs:408:gstrswebrtc::janusvr_signaller::imp::Signaller::handle_msg:<GstJanusVRWebRTCSi...Expose those events using a signal.
Fix those errors when joining a Janus room configured with
'audiolevel_event: true'.
webrtc-janusvr-signaller imp.rs:408:gstrswebrtc::janusvr_signaller::imp::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::imp::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
}
}
}GStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1503Update dependencies2024-03-21T11:30:27ZSebastian DrögeUpdate dependenciesGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1509webrtcsrc: add do-retransmission property2024-03-21T11:30:27ZFrançois Laignelwebrtcsrc: add do-retransmission propertyGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1497gstregex: add support for switches exposed by RegexBuilder2024-03-20T15:29:30ZMathieu Duponchellegstregex: add support for switches exposed by RegexBuilderThe 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.RegexBuilde...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.GStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1494Disable various racy tests2024-03-20T15:29:30ZGuillaume DesmottesDisable various racy testsSee https://gitlab.freedesktop.org/gdesmott/gst-plugins-rs/-/jobs/56183085See https://gitlab.freedesktop.org/gdesmott/gst-plugins-rs/-/jobs/56183085GStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1496meson: Disable docs completely when the option is disabled2024-03-20T15:29:30ZNirbheek Chauhannirbheek.chauhan@gmail.commeson: Disable docs completely when the option is disabledGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1499gtk4: scale texture position2024-03-20T15:29:30ZGuillaume Desmottesgtk4: scale texture positionFix regression in 0.12 introduced by 3423d05f77ae08787c0b3d188e372cf3ce16c913
Code from Ivan Molodetskikh suggested on Matrix.
Fix #519
Closes #519Fix regression in 0.12 introduced by 3423d05f77ae08787c0b3d188e372cf3ce16c913
Code from Ivan Molodetskikh suggested on Matrix.
Fix #519
Closes #519GStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1484webrtc: Minor fixes to LiveKit source element2024-03-20T15:29:30ZJordan Yellozwebrtc: Minor fixes to LiveKit source elementThis change fixes a few minor issues with !1461 that I noticed.
1. The LiveKit source element doesn't implement a URI handler so it shouldn't be in the class declaration.
2. I missed the property getter for `excluded-producer-peer-ids` ...This change fixes a few minor issues with !1461 that I noticed.
1. The LiveKit source element doesn't implement a URI handler so it shouldn't be in the class declaration.
2. I missed the property getter for `excluded-producer-peer-ids` in the LiveKit signalling client.GStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1498webrtc: allow resolution and framerate input changes2024-03-20T15:29:30ZGuillaume Desmotteswebrtc: allow resolution and framerate input changesSome changes do not require a WebRTC renegotiation so we can allow
those.
Fix #515
Closes #515Some changes do not require a WebRTC renegotiation so we can allow
those.
Fix #515
Closes #515GStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.org