pub struct PcmFormatDescriptor { /* private fields */ }Expand description
Runtime citizen that carries a PcmSpec as a stream/PcmFormat object.
The descriptor stores the audio format as a kernel Expr map so it can be
exposed to the SIM runtime as a first-class object (registered under the
pcm_format_class_symbol class). spec
decodes that expression back into a PcmSpec.
§Examples
use sim_lib_stream_audio::{PcmFormatDescriptor, PcmSpec};
let spec = PcmSpec::f32(2, 48_000)?;
let descriptor = PcmFormatDescriptor::new(spec);
assert_eq!(descriptor.spec()?, spec);Implementations§
Source§impl PcmFormatDescriptor
impl PcmFormatDescriptor
Sourcepub fn from_expr(expr: Expr) -> Result<Self>
pub fn from_expr(expr: Expr) -> Result<Self>
Builds a descriptor from an already-encoded format expression.
Returns an error when expr is not a valid PCM format map.
Trait Implementations§
Source§impl Citizen for PcmFormatDescriptor
impl Citizen for PcmFormatDescriptor
Source§fn citizen_symbol() -> Symbol
fn citizen_symbol() -> Symbol
The citizen’s
namespace/name class symbol.Source§fn citizen_version() -> u32
fn citizen_version() -> u32
The citizen’s encoding version.
Source§fn citizen_arity() -> usize
fn citizen_arity() -> usize
Number of constructor fields (excluding the version argument).
Source§fn citizen_fields() -> &'static [&'static str]
fn citizen_fields() -> &'static [&'static str]
The citizen’s field names, in constructor order.
Source§impl CitizenRuntime for PcmFormatDescriptor
impl CitizenRuntime for PcmFormatDescriptor
Source§impl Clone for PcmFormatDescriptor
impl Clone for PcmFormatDescriptor
Source§fn clone(&self) -> PcmFormatDescriptor
fn clone(&self) -> PcmFormatDescriptor
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PcmFormatDescriptor
impl Debug for PcmFormatDescriptor
Source§impl Default for PcmFormatDescriptor
impl Default for PcmFormatDescriptor
Source§impl Object for PcmFormatDescriptor
impl Object for PcmFormatDescriptor
Source§fn display(&self, cx: &mut Cx) -> Result<String>
fn display(&self, cx: &mut Cx) -> Result<String>
Render the object as a human-readable display string.
Source§fn header(&self) -> &ObjectHeader
fn header(&self) -> &ObjectHeader
Identity and trust header for the object; defaults to the shared
anonymous header.
Source§fn op(&self, _key: &OpKey) -> Option<&dyn Op>
fn op(&self, _key: &OpKey) -> Option<&dyn Op>
Resolve the operation registered under
key, if any.Source§impl ObjectCompat for PcmFormatDescriptor
impl ObjectCompat for PcmFormatDescriptor
Source§fn class(&self, cx: &mut Cx) -> Result<ClassRef>
fn class(&self, cx: &mut Cx) -> Result<ClassRef>
Class object this value belongs to; defaults to nil.
Source§fn as_expr(&self, cx: &mut Cx) -> Result<Expr>
fn as_expr(&self, cx: &mut Cx) -> Result<Expr>
Expression form of the object; defaults to an opaque extension node.
Source§fn as_object_encoder(&self) -> Option<&dyn ObjectEncode>
fn as_object_encoder(&self) -> Option<&dyn ObjectEncode>
Object-encoder view, if the object encodes other objects.
Source§fn as_callable(&self) -> Option<&dyn Callable>
fn as_callable(&self) -> Option<&dyn Callable>
Callable view, if the object can be invoked.
Source§fn as_read_constructor(&self) -> Option<&dyn ReadConstructor>
fn as_read_constructor(&self) -> Option<&dyn ReadConstructor>
Read-constructor view, if the object decodes data forms.
Source§fn as_number_domain(&self) -> Option<&(dyn NumberDomain + 'static)>
fn as_number_domain(&self) -> Option<&(dyn NumberDomain + 'static)>
Number-domain view, if the object is a number domain.
Source§fn as_number_value(&self) -> Option<&dyn NumberValue>
fn as_number_value(&self) -> Option<&dyn NumberValue>
Number-value view, if the object is a domain number.
Source§fn as_eval_fabric(&self) -> Option<&dyn EvalFabric>
fn as_eval_fabric(&self) -> Option<&dyn EvalFabric>
Eval-fabric view, if the object is a distributed eval surface.
Source§fn as_sequence(&self) -> Option<&dyn Sequence>
fn as_sequence(&self) -> Option<&dyn Sequence>
Sequence view, if the object is a sequence.
Source§fn as_list(&self) -> Option<&(dyn ListValue + 'static)>
fn as_list(&self) -> Option<&(dyn ListValue + 'static)>
List view, if the object is a list value.
Source§fn as_table_impl(&self) -> Option<&(dyn Table + 'static)>
fn as_table_impl(&self) -> Option<&(dyn Table + 'static)>
Table-implementation view, if the object is a table.
Source§fn as_dir(&self) -> Option<&(dyn Dir + 'static)>
fn as_dir(&self) -> Option<&(dyn Dir + 'static)>
Directory view, if the object is a directory.
Source§fn truth(&self, _cx: &mut Cx) -> Result<bool, Error>
fn truth(&self, _cx: &mut Cx) -> Result<bool, Error>
Truthiness of the object; defaults to true.
Source§impl ObjectEncode for PcmFormatDescriptor
impl ObjectEncode for PcmFormatDescriptor
Source§fn object_encoding(&self, _cx: &mut Cx) -> Result<ObjectEncoding>
fn object_encoding(&self, _cx: &mut Cx) -> Result<ObjectEncoding>
Returns the
ObjectEncoding this object should be rendered as.Source§impl PartialEq for PcmFormatDescriptor
impl PartialEq for PcmFormatDescriptor
Source§fn eq(&self, other: &PcmFormatDescriptor) -> bool
fn eq(&self, other: &PcmFormatDescriptor) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for PcmFormatDescriptor
Auto Trait Implementations§
impl Freeze for PcmFormatDescriptor
impl RefUnwindSafe for PcmFormatDescriptor
impl Send for PcmFormatDescriptor
impl Sync for PcmFormatDescriptor
impl Unpin for PcmFormatDescriptor
impl UnsafeUnpin for PcmFormatDescriptor
impl UnwindSafe for PcmFormatDescriptor
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