pub type RecordCallback = Option<unsafe extern "C" fn(context: *mut c_void, buffer: *mut i16, length: c_int) -> c_int>;