gstreamer-rs/gstreamer-base/sys
Simonas Kazlauskas 782d84bede Remove the links annotations
The `links` annotation in `Cargo.toml` is intended to ensure that in the
crate graph there's at most one crate that's an implementation of
some sort concept.

This can make sense in some scenarios, most prominent of which is when
the crate defines `#[no_mangle]` symbols (e.g. by compiling a vendored C
library.) In that situation linking a binary that depends on two
versions of the library cannot work because of colliding symbol names.

There does not appear to be a similar reason to impose such a
restriction on the users of `gstreamer-sys` and similar, however. All of
these crates link to a system library, they do not define any
`#[no_mangle]` symbols nor they vendor and build C libraries as part of
their build process. All they do is linking to a system library.  Most
likely all the different versions of the bindings will link to the exact
same library too.

I haven't seen any global resources that these bindings use to ensure
soundness of the library, either.
2021-08-23 16:56:27 +00:00
..
src Remove the links annotations 2021-08-23 16:56:27 +00:00
tests Remove the links annotations 2021-08-23 16:56:27 +00:00
build.rs Remove the links annotations 2021-08-23 16:56:27 +00:00
Cargo.toml Remove the links annotations 2021-08-23 16:56:27 +00:00
CHANGELOG.md gstreamer-*/CHANGELOG.md use symlinks 2021-06-29 15:45:58 +02:00
COPYRIGHT Add COPYRIGHT file as links into all crates and change LICENSE files to links too 2020-12-16 12:49:49 +02:00
Gir.toml Replace all girs_dir with girs_directories and add gst-gir-files dir 2021-04-23 22:01:23 +02:00
LICENSE Add COPYRIGHT file as links into all crates and change LICENSE files to links too 2020-12-16 12:49:49 +02:00
README.md Update repository URLs 2020-10-30 18:35:52 +02:00

gstreamer-sys crates.io pipeline status

GStreamer (Base library) FFI bindings for Rust.

These bindings are providing unsafe FFI API that can be used to interface with GStreamer. Generally they are meant to be used as the building block for higher-level abstractions like:

The bindings are autogenerated with gir based on the GObject-Introspection API metadata provided by the GStreamer project.

LICENSE

gstreamer-sys and all crates contained here are licensed under the MIT license (LICENSE or http://opensource.org/licenses/MIT).

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 gstreamer-rs by you shall be licensed under the MIT license as above, without any additional terms or conditions.