Age | Commit message (Collapse) | Author |
|
Plugin displaying upcoming text buffers ahead.
|
|
Plugin adding an element to play audio from Spotify.
|
|
uriplaylistbin plays a list of URIs sequentially, ensuring gapless transitions
and proper streams synchronization.
|
|
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.
|
|
|
|
|
|
Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
Co-authored-by: Jordan Petridis <jordan@centricular.com>
|
|
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
|
|
|
|
Unlike webpdec from -bad, this element inherits from GstElement
and can decode animated webp data.
|
|
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.
|
|
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.
|
|
|
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/348>
|
|
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
|
|
|
|
|
|
Follows the same convention as all the other plugins.
|
|
|
|
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
|
|
|
|
- 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)
|
|
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
|
|
This element uses the Dav1d AV1 decoder library to decode AV1 video.
|
|
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
|
|
|
|
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.
|
|
|
|
|
|
Moving from https://github.com/ford-prefect/gst-plugin-s3/ to have these
plugins in a central location.
|
|
|
|
We need some level of optimizations so the CDG decoder is usable in dev
build. '1' is suitable for debugging according to the doc.
|
|
CDG video decoder used to render karaoke videos.
Acting as a parser for now as we don't have cdgparse yet. I'll probably
implement it at some point once we have GstBaseParse bindings.
|
|
With some changes by Sebastian Dröge <sebastian@centricular.com>
|
|
|
|
They're not used anymore.
|
|
|
|
|
|
This allows using this independent from GStreamer for subclassing e.g.
GIO or GTK GObjects.
Fixes https://github.com/sdroege/gst-plugin-rs/issues/28
Fixes https://github.com/sdroege/gst-plugin-rs/pull/32
|
|
|
|
|
|
Fixes https://github.com/sdroege/gst-plugin-rs/issues/20
|
|
|
|
|
|
|
|
|
|
|
|
This is not too nice now as we have None values to unwrap, but the code
is at least less convoluted.
|
|
|
|
It has the needed changes now
|