Trait ContextOps

Source
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§

Source

fn init(context_name: Option<&CStr>) -> Result<Context>

Source

fn backend_id(&mut self) -> &CStr

Source

fn max_channel_count(&mut self) -> Result<u32>

Source

fn min_latency(&mut self, params: StreamParams) -> Result<u32>

Source

fn preferred_sample_rate(&mut self) -> Result<u32>

Source

fn supported_input_processing_params(&mut self) -> Result<InputProcessingParams>

Source

fn enumerate_devices( &mut self, devtype: DeviceType, collection: &DeviceCollectionRef, ) -> Result<()>

Source

fn device_collection_destroy( &mut self, collection: &mut DeviceCollectionRef, ) -> Result<()>

Source

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>

Source

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.

Implementors§