media_base/
data_frame.rs

1use variant::Variant;
2
3use super::{
4    data::{DataFormat, DataFrameDescriptor},
5    media::MediaFrameType,
6    media_frame::{MediaFrame, MediaFrameData, MediaFrameDescriptor},
7};
8use crate::error::MediaError;
9
10pub struct DataFrameBuilder;
11
12impl DataFrameBuilder {
13    pub fn from_variant(&self, variant: &Variant) -> Result<MediaFrame<'static>, MediaError> {
14        Ok(MediaFrame {
15            media_type: MediaFrameType::Data,
16            source: None,
17            timestamp: 0,
18            desc: MediaFrameDescriptor::Data(DataFrameDescriptor::new(DataFormat::Variant)),
19            metadata: None,
20            data: MediaFrameData::Variant(variant.clone()),
21        })
22    }
23}
24
25impl MediaFrame<'_> {
26    pub fn data_builder() -> DataFrameBuilder {
27        DataFrameBuilder
28    }
29}