GStreamer plugins written in Rust. *These plugins can be used by applications written in other programming languages as well of course, they are just like any other GStreamer plugins available on the system.*
Find a file
Sebastian Dröge 7ac9534322 threadshare: Don't drain the queue when trying to push pending items
Otherwise we'll have to collect all failed items and push them back.
Instead pop items one by one, and if one fails just push that single
item back to the front.

The previous code would've lost all items after the first one that
failed
2018-11-05 13:36:47 +02:00
gst-plugin create plugin_register_static in plugin_define! 2018-11-04 20:24:20 +01:00
gst-plugin-audiofx use BoolError for plugin registration 2018-11-04 20:24:20 +01:00
gst-plugin-file use BoolError for plugin registration 2018-11-04 20:24:20 +01:00
gst-plugin-flv use BoolError for plugin registration 2018-11-04 20:24:20 +01:00
gst-plugin-http use BoolError for plugin registration 2018-11-04 20:24:20 +01:00
gst-plugin-simple use BoolError for plugin registration 2018-11-04 20:24:20 +01:00
gst-plugin-threadshare threadshare: Don't drain the queue when trying to push pending items 2018-11-05 13:36:47 +02:00
gst-plugin-togglerecord register plugin static in integration test 2018-11-04 20:24:20 +01:00
gst-plugin-tutorial use BoolError for plugin registration 2018-11-04 20:24:20 +01:00
.gitignore Update gitignore for Cargo.lock and vim files 2018-10-28 10:20:54 +00:00
.gitlab-ci.yml First run lints, then tests 2018-11-04 18:52:31 +02:00
.travis.yml Remove travis cargo cache 2018-10-05 17:19:30 +03:00
Cargo.toml Move gobject-subclass to its own repository 2018-05-01 17:55:27 +03:00
LICENSE-APACHE Change license from LGPLv2.1+ to Apache2/MIT 2017-02-16 17:52:27 +02:00
LICENSE-LGPLv2 Add gst-plugin-togglerecord 2017-12-05 09:56:58 +02:00
LICENSE-MIT Change license from LGPLv2.1+ to Apache2/MIT 2017-02-16 17:52:27 +02:00
Makefile updated Makefile to use cargo build all 2017-08-01 19:15:27 +03:00
README.md Point to the new repo location in README.md 2018-11-03 20:55:29 +02:00

NOTE: The canonical repository for gst-plugin-rs has moved to freedesktop.org GitLab!

gst-plugin-rs crates.io pipeline status

Infrastructure for writing GStreamer plugins and elements in the Rust programming language, and a collection of various GStreamer plugins.

Documentation for the crate containing the infrastructure for writing GStreamer plugins in Rust, gst-plugin, can be found here. The whole API builds upon the application-side GStreamer bindings. Check the README.md of that repository also for details about how to set-up your development environment.

Various example plugins can be found in the GIT repository. A blog post series about writing GStreamer plugins/elements can be found here2.

For background and motivation, see the announcement blogpost and the follow-up blogposts 1, 2, 3. Note that the overall implementation has changed completely since those blogposts were written.

LICENSE

gst-plugin-rs and all crates contained in here that are not listed below are licensed under either of

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.

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-plugin-rs by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.