libmpv_client/
lib.rs

1//![`Handle`]: Handle
2#![doc = include_str!("../../README.md")]
3#![warn(missing_docs)]
4
5#[macro_use]
6mod macros;
7
8use std::ffi::c_void;
9use libmpv_client_sys as mpv;
10
11/// An opaque handle provided by mpv. Only useful when wrapped by [`Handle`].
12pub use mpv::mpv_handle;
13
14pub mod handle;
15pub use handle::Handle;
16pub use handle::Client;
17
18pub mod event;
19pub use event::{Event, EventId};
20
21pub mod types;
22pub use types::*;
23
24pub mod error;
25pub use error::{Error, Result};
26use libmpv_client_sys::mpv_node;
27
28pub mod version;
29mod tests;
30
31pub(crate) unsafe fn mpv_free(data: *mut c_void) {
32    #[cfg(not(test))]
33    unsafe { mpv::free(data); }
34    #[cfg(test)]
35    tests::mpv_free_stub(data);
36}
37
38pub(crate) unsafe fn mpv_free_node_contents(node: *mut mpv_node) {
39    #[cfg(not(test))]
40    unsafe { mpv::free_node_contents(node) }
41    #[cfg(test)]
42    tests::mpv_free_node_contents_stub(node);
43}