Struct devices::virtio::snd::vios_backend::shm_streams::VioSShmStreamSource
source · pub struct VioSShmStreamSource {
vios_client: Arc<Mutex<VioSClient>>,
stream_descs: Vec<StreamDesc>,
}
Expand description
Adapter that provides the ShmStreamSource trait around the VioS backend.
Fields§
§vios_client: Arc<Mutex<VioSClient>>
§stream_descs: Vec<StreamDesc>
Implementations§
source§impl VioSShmStreamSource
impl VioSShmStreamSource
fn new_stream_inner( &mut self, stream_id: u32, direction: StreamDirection, num_channels: usize, format: SampleFormat, frame_rate: u32, buffer_size: usize, _effects: &[StreamEffect], client_shm: &dyn AudioSharedMemory<Error = Error>, _buffer_offsets: [u64; 2] ) -> Result<Box<dyn ShmStream>, BoxError>
fn get_unused_stream_id(&self, direction: StreamDirection) -> Option<u32>
Trait Implementations§
source§impl ShmStreamSource<Error> for VioSShmStreamSource
impl ShmStreamSource<Error> for VioSShmStreamSource
source§fn new_stream(
&mut self,
direction: StreamDirection,
num_channels: usize,
format: SampleFormat,
frame_rate: u32,
buffer_size: usize,
effects: &[StreamEffect],
client_shm: &dyn AudioSharedMemory<Error = Error>,
buffer_offsets: [u64; 2]
) -> Result<Box<dyn ShmStream>, BoxError>
fn new_stream( &mut self, direction: StreamDirection, num_channels: usize, format: SampleFormat, frame_rate: u32, buffer_size: usize, effects: &[StreamEffect], client_shm: &dyn AudioSharedMemory<Error = Error>, buffer_offsets: [u64; 2] ) -> Result<Box<dyn ShmStream>, BoxError>
Creates a new stream
Auto Trait Implementations§
impl RefUnwindSafe for VioSShmStreamSource
impl Send for VioSShmStreamSource
impl Sync for VioSShmStreamSource
impl Unpin for VioSShmStreamSource
impl UnwindSafe for VioSShmStreamSource
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.