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}