Struct libpulse_binding::sample::Spec [−][src]
A sample format and attribute specification.
Fields
format: FormatThe sample format.
rate: u32The sample rate. (e.g. 44100).
channels: u8Audio channels. (1 for mono, 2 for stereo, ...).
Implementations
impl Spec[src]
pub const CHANNELS_MAX: u8[src]
Maximum number of allowed channels.
pub const RATE_MAX: u32[src]
Maximum allowed sample rate.
pub fn init(&mut self)[src]
Initializes the specified sample spec.
The sample spec will have a defined state but is_valid() will fail for
it.
pub fn is_valid(&self) -> bool[src]
Checks if the whole sample type specification is valid.
pub fn format_is_valid(&self) -> bool[src]
pa_v5 only.Checks only if the format attribute is valid.
Or in other words that the client library running on the end user system accepts it.
pub fn rate_is_valid(&self) -> bool[src]
pa_v5 only.Checks only if the rate is within the supported range.
pub fn channels_are_valid(&self) -> bool[src]
pa_v5 only.Checks only if the channel count is within the supported range.
pub fn bytes_per_second(&self) -> usize[src]
Gets the amount of bytes that constitute playback of one second of audio, with the specified sample type.
pub fn frame_size(&self) -> usize[src]
Gets the size of a frame.
pub fn sample_size(&self) -> usize[src]
Gets the size of a sample.
pub fn bytes_to_usec(&self, length: u64) -> MicroSeconds[src]
Calculates the time it would take to play a buffer of the specified size.
The return value will always be rounded down for non-integral return values.
Note, the underlying calculation may overflow for very large values.
pub fn usec_to_bytes(&self, t: MicroSeconds) -> usize[src]
Calculates the size of a buffer required, for playback duration of the time specified.
The return value will always be rounded down for non-integral return values.
Note, the underlying calculation may overflow for very large values.
pub fn print(&self) -> String[src]
Pretty prints a sample type specification to a string.
Trait Implementations
impl AsMut<pa_sample_spec> for Spec[src]
fn as_mut(&mut self) -> &mut pa_sample_spec[src]
impl AsRef<pa_sample_spec> for Spec[src]
fn as_ref(&self) -> &pa_sample_spec[src]
impl Clone for Spec[src]
impl Copy for Spec[src]
impl Debug for Spec[src]
impl Eq for Spec[src]
impl From<pa_sample_spec> for Spec[src]
fn from(s: pa_sample_spec) -> Self[src]
impl PartialEq<Spec> for Spec[src]
impl StructuralEq for Spec[src]
Auto Trait Implementations
impl RefUnwindSafe for Spec[src]
impl Send for Spec[src]
impl Sync for Spec[src]
impl Unpin for Spec[src]
impl UnwindSafe for Spec[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,