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

gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-08-14generic: expose inter pluginMathieu Duponchelle
This new plugin exposes two elements, intersink and intersrc. These act as wormholes for data in the same process and can be used to forward data from one pipeline to another. The implementation makes use of gstreamer-utils' StreamProducer, and supports dynamically adding and removing consumers, before and after producers, and changing producer names while PLAYING, both on the sink and the src. This initial implementation comes with a small demo, and a few tests. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1257>
2023-08-09Switch to `resolver = "2"` for the workspaceSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1298>
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-11-08gst-plugin-mp4: Add new MP4 plugin with a non-fragmented MP4 muxerSebastian Dröge
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-23Rename rtpav1 plugin to just rtpSebastian Dröge
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/243
2022-10-23Sort members in Cargo.toml and meson.build alphabetically and the same in ↵Sebastian Dröge
both files
2022-10-20Plug webrtc inThibault Saunier
2022-10-12ndi: Implement dynamic loading of the NDI SDKSebastian Dröge
And build the plugin on the CI and via meson.
2022-10-12ndi: Integrate into the build systemSebastian Dröge
2022-09-18cargo: Update default-members listNirbheek Chauhan
hlssink can be built by default because it has no dependencies. tutorial and rsfile should not be built by default because they are not very useful, and flavors should not be built by default because it's very incomplete.
2022-09-18cargo: Sort members and default-members listsNirbheek Chauhan
2022-09-12Add RTP de/payloader elements for AV1Vivienne Watermeier
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/881
2022-09-03whipsink: A GstBin implementation for WHIPTaruntej Kanakamalla
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1410 Created a new plugin 'webrtchttp' to implement all the WebRTC HTTP protocols under /net/webrtc-http directory. WhipSink wraps around 'webrtcbin' with HTTP capabilites to exchange SDP offer/answer so an ICE/DTLS session can be established between the encoder/media producer (WHIP client) and the broadcasting ingestion endpoint (Media Server). Once the ICE/DTLS session is set up, the media will flow unidirectionally from the WHIP client to the broadcasting ingestion endpoint (Media Server). Spec: https://www.ietf.org/archive/id/draft-ietf-wish-whip-04.html
2022-07-20Add RaptorQ RTP FEC pluginsTomasz Andrzejak
2022-06-14Rename rusoto to awsSanchayan Maity
Now that migration to AWS SDK is complete, rename directory and references to aws/AWS SDK. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/759>
2022-05-23add snapshotting tracerGuillaume Desmottes
Convenient tracer to dump all the existing pipelines when receiving the SIGUSR1 Unix signal.
2022-05-12fmp4mux: Add to default workspace membersSebastian Dröge
2022-05-06net/onvif: implement ONVIF metadata processing elementsMathieu Duponchelle
- RTP payloader and depayloader - Aggregator to pair per-frame metadata with media frames - Overlay to render detected shapes
2022-01-12add textahead pluginGuillaume Desmottes
Plugin displaying upcoming text buffers ahead.
2021-12-29add spotify pluginGuillaume Desmottes
Plugin adding an element to play audio from Spotify.
2021-11-29add uriplaylistbin pluginGuillaume Desmottes
uriplaylistbin plays a list of URIs sequentially, ensuring gapless transitions and proper streams synchronization.
2021-11-22Implement rounded cornersSanchayan Maity
This plugin takes I420/YUV and appends an alpha plane to give YUVA/A420 to round the corners analogous to the border-radius in CSS. Other video formats like NV12 not supported yet. Support for other planar formats will follow. Not all ways of specifying border-radius as in CSS are implemented at the moment. Currently, we only support specifying it in pixels and it gets applied uniformly to all corners.
2021-11-16Add hlssink3 pluginRafael Caricio
2021-11-15Add new fmp4 plugin with muxers for ISO fragmented MP4, DASH and CMAF containersSebastian Dröge
2021-10-13Add a GTK4 paintable sink pluginBilal Elmoussaoui
Co-authored-by: Sebastian Dröge <sebastian@centricular.com> Co-authored-by: Jordan Petridis <jordan@centricular.com>
2021-09-25Only list plugins without external C dependencies as default-members of the ↵Sebastian Dröge
cargo workspace `cargo build` will only build the default members while `cargo build --all` would continue to build all plugins. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/167
2021-09-10video: Add a new ffv1 decoder pluginArun Raghavan
2021-03-20video: implement webp decoder around libwebp-sys2 crateMathieu Duponchelle
Unlike webpdec from -bad, this element inherits from GstElement and can decode animated webp data.
2021-02-19text: new element for text processing: regexMathieu Duponchelle
The element expects an array of "commands", as GstStructures, in the form: operation, pattern=<pattern>, ... The only operation implemented for now is replace-all, eg: replace-all, pattern=foo, replacement=bar Other operations can be implemented if useful in the future, eg. "match" could post a message to the bus when the pattern is encountered. The main use case for this is automatic speech recognition, as implemented by eg awstranscribe as users may want to replace swear words with tamer language. Commands are applied in order. The interface is usable through the CLI with the usual escaping strategies, though trying to pass in actual regular expressions through it is a bit tricky, as this introduces yet another level of escaping.
2021-01-20Add new text/json crateMathieu Duponchelle
This new crate consists of two elements, jsongstenc and jsongstparse Both these elements can deal with an ndjson based format, consisting for now of two item types: "Buffer" and "Header" eg: {"Header":{"format":"foobar"}} {"Buffer":{"pts":0,"duration":43,"data":{"foo":"bar"}}} jsongstparse will interpret this by first sending caps application/x-json, format=foobar, then a buffer containing {"foo":"bar"}, timestamped as required. Elements further downstream can then interpret the data further. jsongstenc will simply perform the reverse operation.
2020-12-23Added hsv plugin with hsvfilter and hsvdetector elementsBlaxar Waldarax
2020-05-29audio/transcribe: remove and merge with rusotoMathieu Duponchelle
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/348>
2020-05-15video/png: Add PNG encoder elementneithanmo
It can encode raw video formats like Gray8/16, RGB and RGBA and uses the PNG crate which is a decoding and encoding library in pure Rust
2020-04-16Implement text wrapping element around the textwrap crateMathieu Duponchelle
2020-04-13gst-plugin-transcribe: implement parserJordan Petridis
2020-04-05Rename flv directory as flavorsArun Raghavan
Follows the same convention as all the other plugins.
2020-04-05Drop gst-plugin- prefix in plugin directory nameArun Raghavan
2020-04-05Reorganise plugins into directories by functionArun Raghavan
This should start making navigating the tree a little easier to start with, and we can then move to allowing building specific groups of plugins as well. The plugins are moved into the following hierarchy: audio / gst-plugin-audiofx / gst-plugin-claxon / gst-plugin-csound / gst-plugin-lewton generic / gst-plugin-file / gst-plugin-sodium / gst-plugin-threadshare net / gst-plugin-reqwest / gst-plugin-rusoto utils / gst-plugin-fallbackswitch / gst-plugin-togglerecord video / gst-plugin-cdg / gst-plugin-closedcaption / gst-plugin-dav1d / gst-plugin-flv / gst-plugin-gif / gst-plugin-rav1e gst-plugin-tutorial gst-plugin-version-helper
2020-03-22Add csound-based filter pluginNatanael Mojica
2020-02-25gif: Add initial implementation of a gif encoderMarkus Ebner
- Implemented a simple gif encoder based on the rust crate "gif". - Currently supported input pixel formats are RGB and RGBA - The encoder dynamically changes frame delays to approximate the actual input framerate - For the moment, each frame uses its own local colorpalette, leading to good image quality, but big files - Every frame is currently a full frame. No incremental frames for now - The produced GIF is currently compressed (LZW)
2020-01-19Add claxon based FLAC decoder.Ruben Gonzalez
Audio decoder element structure is based in `gst-plugin-lewton` (a lewton based Vorbis decoder created by @slomo) The element assumes correctly parsed input from `flacparse`. Implementation details: * Claxon returned frames does not contain audio channels interleaved, the reorganization of the channels is done by the element. * Claxon output buffers are always Vec<i32>, mapping to the correct type (depending on the audio format) is also done by the element. Mono s16 and stereo_s32 test are provided. Complete pipelines to test are: ``` gst-launch-1.0 -v souphttpsrc location=https://archive.org/download/MLKDream/MLKDream.flac ! queue2 ! flacparse ! flacdec ! audioconvert ! autoaudiosink gst-launch-1.0 -v audiotestsrc ! audio/x-raw, format=S16LE, layout=interleaved, rate=44100, channels=1 ! audioconvert ! flacenc ! flacparse ! claxondec ! autoaudiosink ``` Fixes #71
2019-12-24dav1d: Add dav1ddec elementPhilippe Normand
This element uses the Dav1d AV1 decoder library to decode AV1 video.
2019-10-21rusoto: Rename s3 as rusotoArun Raghavan
Will disambiguate from any other S3 plugins, and matches how we name other plugins (soup, lewton, rav1e, ...). Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/issues/76
2019-09-14Add initial version of lewton based Vorbis decoderSebastian Dröge
2019-08-19fallbackswitch: New plugin providing a fallbackswitch elementSebastian Dröge
Allows having a live input stream and falling back to another input stream after a configurable timeout without any buffers received on the main input.
2019-06-26rshttpsrc: rename to reqwesthttpsrcahamedsajeer.15
2019-06-03Add build.rs that provides a version number, release date and other detailsahamedsajeer.15
2019-05-25Add a plugin to read data from Amazon S3Arun Raghavan
Moving from https://github.com/ford-prefect/gst-plugin-s3/ to have these plugins in a central location.