Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/sdroege/gst-plugin-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/utils
AgeCommit message (Collapse)Author
2023-02-28livesync: Correctly calculate fallback buffer duration from framerateSebastian Dröge
Numerator and denominator were switched. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1108>
2023-02-20Update minimum supported Rust version to 1.66Sebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1096>
2023-02-13Optimize various error message / debug message formattingSebastian Dröge
Directly make use of format strings instead of formatting a string beforehand and then passing it to the macros.
2023-02-10Update versions to 0.11.0-alpha.1Sebastian Dröge
2023-02-09livesync: Document State's fieldsJan Alexander Steffens (heftig)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1083>
2023-02-09livesync: Improve formattingJan Alexander Steffens (heftig)
Move some code around to make it a bit more readable. No change in behavior. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1083>
2023-02-09livesync: Fix log message capitalizationJan Alexander Steffens (heftig)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1083>
2023-02-09livesync: Extract LiveSync::flow_errorJan Alexander Steffens (heftig)
And add details so it behaves more like the `GST_ELEMENT_FLOW_ERROR` macro. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1083>
2023-02-09livesync: Extract audio_info_from_capsJan Alexander Steffens (heftig)
And adjust it slightly so it never panics. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1083>
2023-02-09livesync: Move single segment propJan Alexander Steffens (heftig)
Keep it with the settings, not after the stats. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1083>
2023-02-09livesync: Fix queueingJan Alexander Steffens (heftig)
The logic of the element requires the next buffer to be available immediately after we are done pushing the previous, otherwise we insert a repeat. Making the src loop handle events and queries broke this, as upstream is almost guaranteed not to deliver a buffer in time if we allow non-buffer items to block upstream's push. To fix this, replace our single-item `Option` with a `VecDeque` that we allow to hold an unlimited number of events or queries, but only one buffer at a time. In addition, the code was confused about the current caps and segment. This wasn't an issue before making the src loop handle events and queries, as only the sinkpad cared about the current segment, using it to buffers received, and only the srcpad cared about the current caps, sending it just before sending the next received buffer. Now the sinkpad cares about caps (through `update_fallback_duration`) and the srcpad cares about the segment (when not in single-segment mode). Fix this by - making `in_caps` always hold the current caps of the sinkpad, - adding `pending_caps`, which is used by the srcpad to store caps to be sent with the next received buffer, - adding `in_segment`, holding the current segment of the sinkpad, - adding `pending_segment`, which is used by the srcpad to store the segment to be sent with the next received buffer, - adding `out_segment`, holding the current segment of the srcpad. Maybe a fix for https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/298. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1082>
2023-01-30livesync: Only resend segment if not in single-segment modeJan Alexander Steffens (heftig)
In single-segment mode, the outgoing segment does not change when the incoming segment changes. We only need to resend the segment if we got flushed or deactivated. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1069>
2023-01-27Return exit code from `gio::Application::run()` from `main()`Sebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1065>
2023-01-25Fix various new clippy warningsSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1062>
2023-01-22Update for various deprecated APIsSebastian Dröge
2023-01-21Update for glib API changesSebastian Dröge
2023-01-17livesync: fix late-threshold property min valueGuillaume Desmottes
The code is handling 0 as "always over threshold" but it was not possible to set the property to 0. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1049>
2023-01-16Update for `gtk::Application` constructor API changesSebastian Dröge
2023-01-15Update for caps/structure-related string API changesSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1048>
2023-01-05Fix some clippy warningsSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1035>
2023-01-05Update for API changesSebastian Dröge
2022-12-16livesync: Fix versionSebastian Dröge
2022-12-14Add livesync pluginJan Alexander Steffens (heftig)
It attempts to produce a (nearly) gapless live stream by synchronizing its output to the running time and forwarding the next input buffer if its start is (nearly) flush with the end of the last output buffer. If the input buffer is missing or too far in the future, it duplicates the last output buffer with adjusted timestamps. If it is operating on a raw audio stream, it will fill duplicate buffers with silence. If an input buffer arrives too late, it is thrown away. If the last input buffer was accepted too long ago (according to `late-threshold`), a late input buffer is accepted anyway, but immediately considered a duplicate. Due to the silence-filling, this has no effect on audio, but video gets a "slideshow" effect instead of freezing completely. The "many-repeats" property will be notified when this element has recently duplicated a lot of buffers or recovered from such a state. Co-authored-by: Vivia Nikolaidou <vivia@ahiru.eu> Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/708>
2022-12-13Fix various new clippy warningsSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1011>
2022-11-22tracer: buffer-lateness: Fix compilation after minor API changeSebastian Dröge
2022-11-01Fix various new clippy warningsSebastian Dröge
2022-10-24Update versions to 0.10.0-alpha.1Sebastian Dröge
2022-10-23Move from `imp.instance()` to `imp.obj()`Sebastian Dröge
It's doing the same thing and is shorter.
2022-10-23Remove `&` for `obj` in log macrosFrançois Laignel
This is no longer necessary. See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1137
2022-10-23Fix GObject type names, GStreamer debug category names and element factory namesSebastian Dröge
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/198
2022-10-23Make GStreamer plugin/crate/library/directory names and descriptions consistentSebastian Dröge
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/238
2022-10-22Various minor cleanupsSebastian Dröge
2022-10-21Take advantage of `Into<Option<_>>` argsFrançois Laignel
Commit 24b7cfc8 applied changes related to nullability as declared by gir. One consequence was that some functions signature ended up requiring users to pass `Some(val)` when they could use `val` before. This commit applies changes on `gstreamer-rs` which, will honoring the nullability stil allow users to pass `val` for the few affected functions. This commit also fixes the signature for `Element::request_new_pad` which was updated upstream.
2022-10-20fallbacksrc: Don't configure conversion elements for normal streamSeungha Yang
Internal conversion element can cause unexpected format/resolution change depending negotiated result, which didn't happen before the recent fallbacksrc update for fallback stream support. Configure conversion objects only for fallback streams and also fallback-{audio,video}-caps are specified, in order to keep previous behavior.
2022-10-19fallbacksrc: Fix for imagefreeze framerate setupSeungha Yang
Put imagefreeze before capsfilter so that user specified framerate for fallback image can be applied as expected
2022-10-19fallbacksrc: Drop QoS event while pad is blockedSeungha Yang
An element which creates QoS event might reference different GstSegment timeline (e.g., fallback testsrc's one). Then it can cause lots of buffers are being dropped in decoder, because of the QoS events. Drops the QoS event before we calculate appropriate pad offsets from blocking pad probe.
2022-10-19Update everything for element factory builder API changesSebastian Dröge
And set properties as part of object construction wherever it makes sense.
2022-10-18fallbacksrc: Configure clocksyncSeungha Yang
It's missed in the previous refactoring
2022-10-18fallbacksrc: Don't use fallback caps to normal streamSeungha Yang
fallback-{audio,video}-caps should be applied only to fallback branches
2022-10-18Use new format constructorsFrançois Laignel
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1128
2022-10-14plugins: Use .into() instead of gst::Fraction::new() where applicableVivia Nikolaidou
2022-10-13plugins, examples, tutorials: Use AudioCapsBuilder and VideoCapsBuilderVivia Nikolaidou
Simplify caps creation code
2022-10-12Update for pad default functions API changesSebastian Dröge
2022-10-10Change *Impl trait methods to only take &self and not Self::Type in additionSebastian Dröge
2022-10-08Use `GFV::none_for_format` where applicableFrançois Laignel
2022-10-07Update for glib::Object::new() API changesSebastian Dröge
2022-10-05fallbacksrc: Always restart the fallback stream on EOS and make sure to EOS ↵Sebastian Dröge
all streams if the main stream is EOS
2022-10-04fallbacksrc: Retry fallback stream on errors tooSebastian Dröge
It was retrying but then nonetheless handling the error as fatal.
2022-10-04build: Update versions to be 0.9.0-alpha.1Nirbheek Chauhan
0.9.0 is the next release, so we can't name things that already. Also the version in meson.build was 0.13.0, which is completely wrong.
2022-10-02tracers: queue-levels: Update for `gst::TracerImpl` API changesSebastian Dröge