pub trait ContextOps {
// Required methods
fn init(context_name: Option<&CStr>) -> Result<Context>;
fn backend_id(&mut self) -> &CStr;
fn max_channel_count(&mut self) -> Result<u32>;
fn min_latency(&mut self, params: StreamParams) -> Result<u32>;
fn preferred_sample_rate(&mut self) -> Result<u32>;
fn supported_input_processing_params(
&mut self,
) -> Result<InputProcessingParams>;
fn enumerate_devices(
&mut self,
devtype: DeviceType,
collection: &DeviceCollectionRef,
) -> Result<()>;
fn device_collection_destroy(
&mut self,
collection: &mut DeviceCollectionRef,
) -> Result<()>;
fn stream_init(
&mut self,
stream_name: Option<&CStr>,
input_device: DeviceId,
input_stream_params: Option<&StreamParamsRef>,
output_device: DeviceId,
output_stream_params: Option<&StreamParamsRef>,
latency_frames: u32,
data_callback: cubeb_data_callback,
state_callback: cubeb_state_callback,
user_ptr: *mut c_void,
) -> Result<Stream>;
fn register_device_collection_changed(
&mut self,
devtype: DeviceType,
cb: cubeb_device_collection_changed_callback,
user_ptr: *mut c_void,
) -> Result<()>;
}
Required Methods§
fn init(context_name: Option<&CStr>) -> Result<Context>
fn backend_id(&mut self) -> &CStr
fn max_channel_count(&mut self) -> Result<u32>
fn min_latency(&mut self, params: StreamParams) -> Result<u32>
fn preferred_sample_rate(&mut self) -> Result<u32>
fn supported_input_processing_params(&mut self) -> Result<InputProcessingParams>
fn enumerate_devices( &mut self, devtype: DeviceType, collection: &DeviceCollectionRef, ) -> Result<()>
fn device_collection_destroy( &mut self, collection: &mut DeviceCollectionRef, ) -> Result<()>
fn stream_init( &mut self, stream_name: Option<&CStr>, input_device: DeviceId, input_stream_params: Option<&StreamParamsRef>, output_device: DeviceId, output_stream_params: Option<&StreamParamsRef>, latency_frames: u32, data_callback: cubeb_data_callback, state_callback: cubeb_state_callback, user_ptr: *mut c_void, ) -> Result<Stream>
fn register_device_collection_changed( &mut self, devtype: DeviceType, cb: cubeb_device_collection_changed_callback, user_ptr: *mut c_void, ) -> Result<()>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.