xmf-sys

Crates.ioxmf-sys
lib.rsxmf-sys
version0.2.0
sourcesrc
created_at2024-07-26 09:20:28.199862
updated_at2024-07-28 17:27:03.150906
descriptionBindings to XMF native library: eXtreme Media Foundation
homepagehttps://github.com/Devolutions/cadeau
repositoryhttps://github.com/Devolutions/cadeau
max_upload_size
id1315956
size14,174
Marc-André Moreau (awakecoding)

documentation

README

Rust bindings to XMF: eXtreme Media Foundation, an efficiently dangerous cadeau to Rust

Low-level and unidiomatic bindings to the XMF library.

It’s possible to choose between dynamically loading the library and regular static / dynamic linking at build-time for a total of three options.

Dynamic Linking

  • Feature flag: none
  • Env variable: XMF_DYNAMIC

The shared library is not required when building the binary, but is required when executing it.

Static Linking

  • Feature flag: static
  • Env variable: XMF_STATIC

The static library is required when building the binary, and no additional dependency is required when executing the binary. You can specify a search path for the static library using XMF_SEARCH_PATH env variable.

Dynamic Loading

  • Feature flag: dlopen
  • Env variable: none

The shared library is not required when building the binary, and is not required when executing the binary either. However, you need to programmatically load the file before using any FFI function by using the init function. The rest of the API is identical except for this init function. You can check dynamically if the library has been loaded using the is_init function. This function is annotated with #[inline] and compiles down to true when the dlopen feature is not enabled.

Native Library Binaries

Available at the release page of the GitHub repository.

Commit count: 0

cargo fmt