Struct libpulse_binding::format::Info
[−]
[src]
pub struct Info<'a> { pub ptr: &'a mut InfoInternal, // some fields omitted }
This acts as a safe Rust wrapper for the actual C object.
Fields
ptr: &'a mut InfoInternal
The actual C object
Methods
impl<'a> Info<'a>
[src]
fn new() -> Option<Self>
[src]
Allocates a new Info
structure.
Clients must initialise at least the encoding field themselves. Returns None
on failure.
fn new_from_string(s: &str) -> Option<Self>
[src]
Parse a human-readable string of the form generated by print
into an
Info
structure.
Returns None
on failure.
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.
fn from_raw(ptr: *mut InfoInternal) -> Self
[src]
Create a new Info
from an existing InfoInternal
pointer.
fn from_raw_weak(ptr: *mut InfoInternal) -> Self
[src]
Create a new Info
from an existing InfoInternal
pointer.
This is the 'weak' version, for use in callbacks, which avoids destroying the internal
object when dropped.
fn is_valid(&self) -> bool
[src]
Returns whether the Info
structure is valid.
fn is_pcm(&self) -> bool
[src]
Returns whether the Info
structure represents a PCM (i.e. uncompressed data) format.
fn is_compatible_with(&self, with: &Self) -> bool
[src]
Returns 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.
fn print(&self) -> Option<String>
[src]
Return a human-readable string representing the given format.
Returns None
on error.
fn to_sample_spec(&self, ss: &mut Spec, map: &mut Map) -> Result<(), i32>
[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.
fn set_encoding(&mut self, encoding: Encoding)
[src]
Convenience method to set the encoding attribute.
fn get_prop_type(&self, key: &str) -> PropType
[src]
Gets the type of property key.
fn get_prop_int(&self, key: &str) -> Result<i32, i32>
[src]
Gets an integer property.
fn get_prop_int_range(&self, key: &str) -> Result<(i32, i32), i32>
[src]
Gets an integer range property. On success, returns min-max tuple.
fn get_prop_int_array(&self, key: &str) -> Option<Vec<i32>>
[src]
Gets an integer array property.
Returns None
on error.
fn get_prop_string(&self, key: &str) -> Option<String>
[src]
Gets a string property.
fn get_prop_string_array(&self, key: &str) -> Option<Vec<String>>
[src]
Gets a string array property.
fn set_prop_int(&mut self, key: &str, value: i32)
[src]
Sets an integer property.
fn set_prop_int_array(&mut self, key: &str, values: &[i32])
[src]
Sets a property with a list of integer values.
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.
fn set_prop_string(&mut self, key: &str, value: &str)
[src]
Sets a string property.
fn set_prop_string_array(&mut self, key: &str, values: &[&str])
[src]
Sets a property with a list of string values.
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.
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.
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.
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.