pub struct FrameMeta {
pub id: u64,
pub name: &'static str,
pub pts: Option<i64>,
pub broadcast_sibling_id: Option<u64>,
pub extra: Option<Arc<Map<String, Value>>>,
pub transport_source: Option<Arc<str>>,
pub transport_destination: Option<Arc<str>>,
}Expand description
Per-frame metadata, carried out of band in the channel Envelope so the
hot enum variant (OutputAudio(Arc<AudioFrame>)) stays a thin pointer move
(PROCESSOR-DESIGN §1.1). Mirrors the pipecat Frame base fields
(frames.py:73-79). Cheap to clone (the extra map is Arced).
Fields§
§id: u64Process-unique monotonic id (see next_frame_id).
name: &'static strHuman name for tracing/observers, e.g. “OutputAudio”. Built lazily.
pts: Option<i64>Presentation timestamp in nanoseconds on the pipeline clock, if set.
broadcast_sibling_id: Option<u64>Paired id when a frame was broadcast both directions (frames.py:76).
extra: Option<Arc<Map<String, Value>>>Arbitrary sideband metadata (Arc so cloning a frame is cheap).
transport_source: Option<Arc<str>>Transport source/destination track names (frames.py:78-79).
transport_destination: Option<Arc<str>>Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FrameMeta
impl RefUnwindSafe for FrameMeta
impl Send for FrameMeta
impl Sync for FrameMeta
impl Unpin for FrameMeta
impl UnsafeUnpin for FrameMeta
impl UnwindSafe for FrameMeta
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