#[repr(C)]
pub struct pw_stream_events { pub version: u32, pub destroy: Option<unsafe extern "C" fn(data: *mut c_void)>, pub state_changed: Option<unsafe extern "C" fn(data: *mut c_void, old: pw_stream_state, state: pw_stream_state, error: *const c_char)>, pub control_info: Option<unsafe extern "C" fn(data: *mut c_void, id: u32, control: *const pw_stream_control)>, pub io_changed: Option<unsafe extern "C" fn(data: *mut c_void, id: u32, area: *mut c_void, size: u32)>, pub param_changed: Option<unsafe extern "C" fn(data: *mut c_void, id: u32, param: *const spa_pod)>, pub add_buffer: Option<unsafe extern "C" fn(data: *mut c_void, buffer: *mut pw_buffer)>, pub remove_buffer: Option<unsafe extern "C" fn(data: *mut c_void, buffer: *mut pw_buffer)>, pub process: Option<unsafe extern "C" fn(data: *mut c_void)>, pub drained: Option<unsafe extern "C" fn(data: *mut c_void)>, pub command: Option<unsafe extern "C" fn(data: *mut c_void, command: *const spa_command)>, pub trigger_done: Option<unsafe extern "C" fn(data: *mut c_void)>, }
Expand description

Events for a stream. These events are always called from the mainloop unless explicitly documented otherwise.

Fields§

§version: u32§destroy: Option<unsafe extern "C" fn(data: *mut c_void)>§state_changed: Option<unsafe extern "C" fn(data: *mut c_void, old: pw_stream_state, state: pw_stream_state, error: *const c_char)>

when the stream state changes

§control_info: Option<unsafe extern "C" fn(data: *mut c_void, id: u32, control: *const pw_stream_control)>

Notify information about a control.

§io_changed: Option<unsafe extern "C" fn(data: *mut c_void, id: u32, area: *mut c_void, size: u32)>

when io changed on the stream.

§param_changed: Option<unsafe extern "C" fn(data: *mut c_void, id: u32, param: *const spa_pod)>

when a parameter changed

§add_buffer: Option<unsafe extern "C" fn(data: *mut c_void, buffer: *mut pw_buffer)>

when a new buffer was created for this stream

§remove_buffer: Option<unsafe extern "C" fn(data: *mut c_void, buffer: *mut pw_buffer)>

when a buffer was destroyed for this stream

§process: Option<unsafe extern "C" fn(data: *mut c_void)>

when a buffer can be queued (for playback streams) or dequeued (for capture streams). This is normally called from the mainloop but can also be called directly from the realtime data thread if the user is prepared to deal with this.

§drained: Option<unsafe extern "C" fn(data: *mut c_void)>

The stream is drained

§command: Option<unsafe extern "C" fn(data: *mut c_void, command: *const spa_command)>

A command notify, Since 0.3.39:1

§trigger_done: Option<unsafe extern "C" fn(data: *mut c_void)>

a trigger_process completed. Since version 0.3.40:2

Trait Implementations§

source§

impl Clone for pw_stream_events

source§

fn clone(&self) -> pw_stream_events

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for pw_stream_events

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Copy for pw_stream_events

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.