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
AgeCommit message (Collapse)Author
2023-05-09Update version to 0.10.7Sebastian Dröge
2023-04-22Fix a couple of new Rust 1.69 clippy warningsSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1189>
2023-04-06Update versions to 0.10.6Sebastian Dröge
2023-04-05git: replace LICENSE file symlinks with copiesTim-Philipp Müller
Git will de-duplicate the contents for us anyway, and symlinks can cause problems with some versions of git and also on Windows. https://github.com/mesonbuild/meson/issues/11646 https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4326 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1160>
2023-03-19Update versions to 0.10.50.10.5Sebastian Dröge
2023-03-19threadshare: jitterbuffer: Rename C symbols to avoid conflicts with the same ↵Sebastian Dröge
symbols from the rtpmanager plugin Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/326 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1139>
2023-03-14Update versions to 0.10.4Sebastian Dröge
2023-03-10Fix indentation broken by `cargo clippy --fix`Sebastian Dröge
... and another clippy warning. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1129>
2023-03-10Fix a couple of new clippy warningsSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1129>
2023-03-02Update versions to 0.10.3Sebastian Dröge
2023-03-02threadshare: Update to socket2 0.5Sebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1115>
2023-02-23Update versions to 0.10.2Sebastian Dröge
2023-02-13Update versions to 0.10.1Sebastian Dröge
2023-02-10Add versions to local dependenciesSebastian Dröge
2023-02-10Update to gtk-rs-core 0.17, gtk4-rs 0.6 and gstreamer-rs 0.20 branchesSebastian Dröge
2023-02-10Update versions to 0.10.0Sebastian Dröge
2023-01-31Update for glib API changesSebastian Dröge
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
2022-12-28meson: Add an option to build examplesNirbheek Chauhan
Required renaming threadshare/benchmark to threadshare/ts-benchmark because 'benchmark' as a target name is reserved for meson's `benchmark` target. Disabled by default because cargo decides that it has to rebuild everything, and is really slow because of that. Also required adding --features for setting features required by the examples. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1028>
2022-12-13Fix various new clippy warningsSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1011>
2022-11-27Update for gst::Array / gst::List API improvementsSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/985>
2022-11-09ts/udpsink: handle items in the PadSinkHandlerFrançois Laignel
... instead of forwarding them to a Task via a channel. This improves CPU usage by 5% according to `udpsrc-benchmark-sender` with the `tuning` feature using default audio test buffers and 400 streams on the same ts-context. It is expected to improve latency significantly. This is inferred from `ts-standalone`: latency shrinks from around 5ms to 1.5µs using the `task` sink compared to the `async-mutex` sink. The async Mutex is mandatory here as we need to hold the lock across await points.
2022-11-09ts: introduce ts-audiotestsrcFrançois Laignel
This makes it easy to generate "listenable" signals and to evaluate discontinuities. When the `tuning` feature is activated and the `main-elem` property is set, the element can log the parked duration in %, which is an image of the CPU usage for the ts-context. This commit adds a test mode to `udpsrc-benchmark-sender` which generates default audio buffers from `ts-audiotestsrc`. The `rtp` mode is modified so that it uses `ts-audiotestsrc`.
2022-11-09ts/standalone: add new SinksFrançois Laignel
Contrary to the existing Task Sink, the Async and Sync Mutex Sinks handle buffers in the `PadSinkHandler` directly. The Async Mutex Sink uses an async Mutex for the `PadSinkHandlerInner` while the Sync Mutex Sink uses... a sync Mutex. All Sinks share the same settings and stats manager. Use the `--sink` command line option to select the sink (default is `sync-mutex` since it allows evaluating the framework with as little overhead as possible. Also apply various fixes: - Only keep the segment start instead of the full `Segment`. This helps with cache locality (`Segment` is a plain struct with many fields) and avoids downcasting the generic `Segment` upon each buffer handling. - Box the `Stat`s. This should improve cache locality a bit. - Fix EOS handling which took ages for no benefits in this particular use case. - Use a macro to raise log level in the main element. - Move error handling during item processing in `handle_loop_error`. This function was precisely designed for this and it should reduce the `handle_item`'s Future size.
2022-11-09ts/standalone: move current sink under task_sinkFrançois Laignel
2022-11-09threadshare: Update to concurrent-queue 2Sebastian 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-24ts/pad: use `gst::Pad` in handlers trait functions...François Laignel
... instead of the `Pad{Src,Sink}Ref` wrappers: - In practice, only the `gst::Pad` is useful in these functions. Some of these which need a `Pad{Src,Sink}Ref`, but it's the one for the opposite stream direction. In those cases, it is accessed via the element's implementation. - It saves a few `clone`s. - The implementations usually use the `gst::Pad` for logging. They no longer need to access it via `pad.gst_pad()`.
2022-10-24ts/pad: don't pass self as ref in remaining handler traits functionsFrançois Laignel
- They are either unit types or `Clone` (in which case they are implemented as pointers). - Internally, we already use an owned version, so there's no need to get a reference. - It facilitates implementation if the handler must be moved into a closure or a `Future`.
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-23Add new mux subdirectory for container formatsSebastian Dröge
Contains the (incomplete) flavors FLV demuxer and the fragmented MP4 muxer for now. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/173
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-19Update everything for element factory builder API changesSebastian Dröge
And set properties as part of object construction wherever it makes sense.
2022-10-18Update for GStreamer API changesSebastian Dröge
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-12ts: better use of `imp` & `elem` args in `Pad{Sink,Src}Handler`sFrançois Laignel
This is a follow-up to commit 7ee4afac. This commit cleans up the `Pad{Sink,Src}Handler` by - Keeping arguments which are strictly necessary. - Passing arguments by value for the trait functions which return a `Future`. The arguments which were previously passed by reference were `clone`d internally and then `clone`d again in most implementations. There are unfortunate differences in trait function signatures between those which return a `Future` and the sync functions. This is due to the requirement for the arguments to be moved to the resulting `Future`, whereas sync functions can rely on references. One particular notable difference is the use of the `imp` in sync functions instead of the `elem` in functions returning a `Future`. Because the `imp` is not guaranteed to implement `Clone`, we can't move it to the resulting `Future`, so the `elem` is used.
2022-10-11fix formatted values constructorsFrançois Laignel
In restrospect, building formatted values using operations on the `ONE` constant doesn't seem idiomatic. This commit uses new panicking constructors instead. See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1122
2022-10-10Fix direct access to the inner specific formatted valuesFrançois Laignel
This is no longer available as this could lead to building a defined value in Rust which could be interpreted as undefined in C due to the sentinel `u64::MAX` for `None`. Use the constants (e.g. `ONE`, `K`, `M`, ...) and operations to build a value and deref (`*`) to get the quantity as an integer.
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