f1e3212477
Contrary to what one might believe, this actually reduces the size of the structs due to alignment constraints. On Linux x86-64 clang/gcc it reduces the size of the caption_frame_t struct from 7760 bytes to 6800 bytes, on Windows x86-64 MSVC from 11600 bytes to 6800 bytes. It also causes simpler and potentially faster assembly to be generated as the values can be directly accessed as uint8_t instead of having to extract the corresponding bits with bitwise operations. It also gives us the same ABI with clang/gcc and MSVC. |
||
---|---|---|
audio | ||
generic | ||
net | ||
tutorial | ||
utils | ||
version-helper | ||
video | ||
.gitignore | ||
.gitlab-ci.yml | ||
Cargo.toml | ||
cargo_wrapper.py | ||
LICENSE-APACHE | ||
LICENSE-LGPLv2 | ||
LICENSE-MIT | ||
Makefile | ||
meson.build | ||
meson_options.txt | ||
README.md |
gst-plugins-rs
Repository containing various GStreamer plugins and elements written in the Rust programming language.
The plugins build upon the GStreamer Rust bindings. Check the README.md of that repository also for details about how to set-up your development environment.
Plugins
You will find the following plugins in this repository:
-
generic
-
file
: A Rust implementation of the standardfilesrc
andfilesink
elements -
sodium
: Elements to perform encryption and decryption using libsodium. -
threadshare
: Some popular threaded elements reimplemented using common thread-sharing infrastructure.
-
-
net
-
audio
-
video
-
cdg
: A parser and renderer for CD+G karaoke data. -
closedcaption
: Plugins to deal with several closed caption formats (MCC, SCC, EIA-608/CEA-608 and timed text). -
dav1d
: AV1 decoder based on the dav1d library. -
flavors
: FLV demuxer based on the flavors library. -
gif
: A GIF encoder based on the gif library. -
rav1e
: AV1 encoder based on the rav1e library.
-
-
utils
-
fallbackswitch
: Aggregator element that allows falling back to a different sink pad after a timeout. -
togglerecord
: Element to enable starting and stopping multiple streams together.
-
LICENSE
gst-plugins-rs and all crates contained in here that are not listed below are licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
gst-plugin-togglerecord is licensed under the Lesser General Public License (LICENSE-LGPLv2) version 2.1 or (at your option) any later version.
gst-plugin-csound is licensed under the Lesser General Public License (LICENSE-LGPLv2) version 2.1 or (at your option) any later version.
GStreamer itself is licensed under the Lesser General Public License version 2.1 or (at your option) any later version: https://www.gnu.org/licenses/lgpl-2.1.html
Contribution
Any kinds of contributions are welcome as a pull request.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in gst-plugins-rs by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.