#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct audiocpp_registry {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct audiocpp_model {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct audiocpp_session {
_unused: [u8; 0],
}
unsafe extern "C" {
pub fn audiocpp_last_error() -> *const ::std::os::raw::c_char;
}
unsafe extern "C" {
pub fn audiocpp_free_string(s: *mut ::std::os::raw::c_char);
}
unsafe extern "C" {
pub fn audiocpp_registry_default() -> *mut audiocpp_registry;
}
unsafe extern "C" {
pub fn audiocpp_registry_families_json(
reg: *const audiocpp_registry,
out_json: *mut *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn audiocpp_registry_loaders_json(
reg: *const audiocpp_registry,
out_json: *mut *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn audiocpp_registry_devices_json(
out_json: *mut *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn audiocpp_registry_supports_family(
reg: *const audiocpp_registry,
family: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn audiocpp_registry_inspect_json(
reg: *const audiocpp_registry,
model_path: *const ::std::os::raw::c_char,
out_json: *mut *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn audiocpp_registry_load(
reg: *const audiocpp_registry,
model_path: *const ::std::os::raw::c_char,
family_hint: *const ::std::os::raw::c_char,
load_options_json: *const ::std::os::raw::c_char,
) -> *mut audiocpp_model;
}
unsafe extern "C" {
pub fn audiocpp_registry_free(reg: *mut audiocpp_registry);
}
unsafe extern "C" {
pub fn audiocpp_model_metadata_json(
model: *const audiocpp_model,
out_json: *mut *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn audiocpp_model_capabilities_json(
model: *const audiocpp_model,
out_json: *mut *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn audiocpp_model_create_task_session(
model: *const audiocpp_model,
task: *const ::std::os::raw::c_char,
mode: *const ::std::os::raw::c_char,
backend: *const ::std::os::raw::c_char,
device: ::std::os::raw::c_int,
threads: ::std::os::raw::c_int,
session_options_json: *const ::std::os::raw::c_char,
) -> *mut audiocpp_session;
}
unsafe extern "C" {
pub fn audiocpp_model_free(model: *mut audiocpp_model);
}
unsafe extern "C" {
pub fn audiocpp_session_free(session: *mut audiocpp_session);
}
unsafe extern "C" {
pub fn audiocpp_session_family(session: *mut audiocpp_session)
-> *const ::std::os::raw::c_char;
}
unsafe extern "C" {
pub fn audiocpp_session_task_kind(
session: *mut audiocpp_session,
) -> *const ::std::os::raw::c_char;
}
unsafe extern "C" {
pub fn audiocpp_session_run_mode(
session: *mut audiocpp_session,
) -> *const ::std::os::raw::c_char;
}
unsafe extern "C" {
pub fn audiocpp_session_streaming_policy_json(
session: *mut audiocpp_session,
out_json: *mut *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn audiocpp_session_prepare(
session: *mut audiocpp_session,
request_json: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn audiocpp_session_run_offline(
session: *mut audiocpp_session,
request_json: *const ::std::os::raw::c_char,
out_json: *mut *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
pub type audiocpp_stream_event_cb = ::std::option::Option<
unsafe extern "C" fn(
user_data: *mut ::std::os::raw::c_void,
event_json: *const ::std::os::raw::c_char,
is_final: ::std::os::raw::c_int,
),
>;
unsafe extern "C" {
pub fn audiocpp_session_set_event_sink(
session: *mut audiocpp_session,
cb: audiocpp_stream_event_cb,
user_data: *mut ::std::os::raw::c_void,
);
}
unsafe extern "C" {
pub fn audiocpp_session_start(
session: *mut audiocpp_session,
request_json: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn audiocpp_session_process_audio(
session: *mut audiocpp_session,
samples: *const f32,
count: usize,
sample_rate: ::std::os::raw::c_int,
channels: ::std::os::raw::c_int,
start_sample: i64,
out_event_json: *mut *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn audiocpp_session_finish(
session: *mut audiocpp_session,
out_json: *mut *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn audiocpp_session_reset(session: *mut audiocpp_session) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn audiocpp_audio_load_wav(
path: *const ::std::os::raw::c_char,
sample_rate: *mut ::std::os::raw::c_int,
channels: *mut ::std::os::raw::c_int,
count: *mut usize,
samples: *mut *mut f32,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn audiocpp_audio_free(samples: *mut f32);
}