1use isobmff::boxes::VisualSampleEntry;
6use isobmff::{IsoBox, UnknownBox};
7
8use crate::AV1CodecConfigurationRecord;
9
10#[derive(IsoBox, Debug, PartialEq, Eq)]
14#[iso_box(box_type = b"av01")]
15pub struct AV1SampleEntry<'a> {
16 pub sample_entry: VisualSampleEntry,
18 #[iso_box(nested_box)]
20 pub av1c: AV1CodecConfigurationBox<'a>,
21 #[iso_box(nested_box(collect_unknown))]
23 pub sub_boxes: Vec<UnknownBox<'a>>,
24}
25
26#[derive(IsoBox, Debug, PartialEq, Eq)]
30#[iso_box(box_type = b"av1C")]
31pub struct AV1CodecConfigurationBox<'a> {
32 pub av1_config: AV1CodecConfigurationRecord<'a>,
34}
35
36impl<'a> AV1CodecConfigurationBox<'a> {
37 pub fn new(av1_config: AV1CodecConfigurationRecord<'a>) -> Self {
39 Self { av1_config }
40 }
41}