[−][src]Struct libpulse_binding::format::Info
Represents the format of data provided in a stream or processed by a sink.
Implementations
impl Info
[src]
pub fn new() -> Option<Self>
[src]
Allocates a new Info
structure.
Clients must initialise at least the encoding field themselves. Returns None
on failure.
pub fn new_from_string(s: &str) -> Option<Self>
[src]
Parses a human-readable string of the form generated by print
into an
Info
structure.
Returns None
on failure.
pub fn new_from_sample_spec(ss: &Spec, map: Option<&Map>) -> Option<Self>
[src]
Utility function to take a sample::Spec
and generate the corresponding Info
.
Note that if you want the server to choose some of the stream parameters, for example the
sample rate, so that they match the device parameters, then you shouldn’t use this function.
In order to allow the server to choose a parameter value, that parameter must be left
unspecified in the Info
object, and this function always specifies all parameters. An
exception is the channel map: if you pass None
for the channel map, then the channel map
will be left unspecified, allowing the server to choose it.
Returns None
on failure.
pub fn is_valid(&self) -> bool
[src]
Checks whether the Info
structure is valid.
pub fn is_pcm(&self) -> bool
[src]
Checks whether the Info
structure represents a PCM (i.e. uncompressed data) format.
pub fn is_compatible_with(&self, with: &Self) -> bool
[src]
Checks whether the format represented by self is a subset of the format represented by
with
.
This means that with
must have all the fields that self does, but the reverse need not be
true. This is typically expected to be used to check if a stream’s format is compatible with
a given sink. In such a case, self would be the sink’s format and with
would be the
streams.
pub fn print(&self) -> String
[src]
Gets a human-readable string representing the given format.
pub fn to_sample_spec(&self, ss: &mut Spec, map: &mut Map) -> Result<(), PAErr>
[src]
Utility function to generate a sample::Spec
and channelmap::Map
corresponding to a
given Info
.
The conversion for PCM formats is straight-forward. For non-PCM formats, if there is a fixed size-time conversion (i.e. all IEC61937-encapsulated formats), a “fake” sample spec whose size-time conversion corresponds to this format is provided and the channel map argument is ignored. For formats with variable size-time conversion, this function will fail.
pub fn get_encoding(&self) -> Encoding
[src]
Gets the encoding.
pub fn set_encoding(&mut self, encoding: Encoding)
[src]
Sets the encoding attribute.
pub fn get_properties(&self) -> &Proplist
[src]
Gets an immutable reference to the property list.
pub fn get_properties_mut(&mut self) -> &mut Proplist
[src]
Gets a mutable reference to the property list.
pub fn get_prop_type(&self, key: &str) -> PropType
[src]
Gets the type of property key.
pub fn get_prop_int(&self, key: &str) -> Result<i32, PAErr>
[src]
Gets an integer property.
pub fn get_prop_int_range(&self, key: &str) -> Result<(i32, i32), PAErr>
[src]
Gets an integer range property. On success, returns min-max tuple.
pub fn get_prop_int_array(&self, key: &str) -> Option<Vec<i32>>
[src]
Gets an integer array property.
Returns None
on error.
pub fn get_prop_string(&self, key: &str) -> Option<String>
[src]
Gets a string property.
pub fn get_prop_string_array(&self, key: &str) -> Option<Vec<String>>
[src]
Gets a string array property.
pub fn get_sample_format(&self) -> Result<Format, PAErr>
[src]
Gets the sample format stored in the format info.
Returns Err
if the sample format property is not set at all, or is invalid.
Available since PA version 13.
pub fn get_rate(&self) -> Result<u32, PAErr>
[src]
Gets the sample rate stored in the format info.
Returns Err
if the sample rate property is not set at all, or is invalid.
Available since PA version 13.
pub fn get_channel_count(&self) -> Result<u8, PAErr>
[src]
Gets the channel count stored in the format info.
Returns Err
if the channels property is not set at all, or is invalid.
Available since PA version 13.
pub fn get_channel_map(&self) -> Result<Map, PAErr>
[src]
Gets the channel map stored in the format info.
Returns Err
if the channel map property is not set at all, or if the string form it is
stored in within the property set fails to parse successfully.
Available since PA version 13.
pub fn set_prop_int(&mut self, key: &str, value: i32)
[src]
Sets an integer property.
pub fn set_prop_int_array(&mut self, key: &str, values: &[i32])
[src]
Sets a property with a list of integer values.
pub fn set_prop_int_range(&mut self, key: &str, min: i32, max: i32)
[src]
Sets a property which can have any value in a given integer range.
pub fn set_prop_string(&mut self, key: &str, value: &str)
[src]
Sets a string property.
pub fn set_prop_string_array(&mut self, key: &str, values: &[&str])
[src]
Sets a property with a list of string values.
pub fn set_sample_format(&mut self, sf: Format)
[src]
Convenience method to set the sample format as a property.
Note for PCM: If the sample format is left unspecified in the Info
object, then the server
will select the stream sample format. In that case the stream sample format will most likely
match the device sample format, meaning that sample format conversion will be avoided.
pub fn set_rate(&mut self, rate: i32)
[src]
Convenience method to set the sampling rate as a property.
Note for PCM: If the sample rate is left unspecified in the Info
object, then the server
will select the stream sample rate. In that case the stream sample rate will most likely
match the device sample rate, meaning that sample rate conversion will be avoided.
pub fn set_channels(&mut self, channels: u32)
[src]
Convenience method to set the number of channels as a property.
Note for PCM: If the channel count is left unspecified in the Info
object, then the server
will select the stream channel count. In that case the stream channel count will most likely
match the device channel count, meaning that up/downmixing will be avoided.
pub fn set_channel_map(&mut self, map: &Map)
[src]
Convenience method to set the channel map as a property.
Note for PCM: If the channel map is left unspecified in the Info
object, then the server
will select the stream channel map. In that case the stream channel map will most likely
match the device channel map, meaning that remixing will be avoided.
Trait Implementations
impl Clone for Info
[src]
pub fn clone(&self) -> Self
[src]
Returns a new Info
struct and representing the same format. If this is called on a ‘weak’
instance, a non-weak object is returned.
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for Info
[src]
impl Drop for Info
[src]
impl Send for Info
[src]
impl Sync for Info
[src]
Auto Trait Implementations
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>,