summaryrefslogtreecommitdiffstats
path: root/third_party/rust/cubeb-coreaudio/src/capi.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/cubeb-coreaudio/src/capi.rs')
-rw-r--r--third_party/rust/cubeb-coreaudio/src/capi.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/third_party/rust/cubeb-coreaudio/src/capi.rs b/third_party/rust/cubeb-coreaudio/src/capi.rs
new file mode 100644
index 0000000000..1fd9e96f10
--- /dev/null
+++ b/third_party/rust/cubeb-coreaudio/src/capi.rs
@@ -0,0 +1,19 @@
+// Copyright © 2018 Mozilla Foundation
+//
+// This program is made available under an ISC-style license. See the
+// accompanying file LICENSE for details.
+
+use crate::backend::AudioUnitContext;
+use cubeb_backend::{capi, ffi};
+use std::os::raw::{c_char, c_int};
+
+/// # Safety
+///
+/// This function should only be called once per process.
+#[no_mangle]
+pub unsafe extern "C" fn audiounit_rust_init(
+ c: *mut *mut ffi::cubeb,
+ context_name: *const c_char,
+) -> c_int {
+ capi::capi_init::<AudioUnitContext>(c, context_name)
+}