From 4df1097948dc8dbe3aec048a7c8aa33aa6cee7b7 Mon Sep 17 00:00:00 2001 From: Alf Date: Mon, 24 Aug 2020 21:49:58 -0700 Subject: [PATCH] Update mp4dump example and update box_size to method in all boxes. --- examples/mp4dump.rs | 154 ++++++++++++++++++++++++++------------------ src/lib.rs | 1 + src/mp4box/avc1.rs | 8 +-- src/mp4box/co64.rs | 4 +- src/mp4box/ctts.rs | 4 +- src/mp4box/edts.rs | 4 +- src/mp4box/elst.rs | 4 +- src/mp4box/ftyp.rs | 4 +- src/mp4box/hdlr.rs | 4 +- src/mp4box/mdhd.rs | 4 +- src/mp4box/mdia.rs | 4 +- src/mp4box/minf.rs | 4 +- src/mp4box/mod.rs | 2 +- src/mp4box/moov.rs | 4 +- src/mp4box/mp4a.rs | 8 +-- src/mp4box/mvhd.rs | 4 +- src/mp4box/smhd.rs | 4 +- src/mp4box/stbl.rs | 4 +- src/mp4box/stco.rs | 4 +- src/mp4box/stsc.rs | 4 +- src/mp4box/stsd.rs | 4 +- src/mp4box/stss.rs | 4 +- src/mp4box/stsz.rs | 4 +- src/mp4box/stts.rs | 4 +- src/mp4box/tkhd.rs | 4 +- src/mp4box/trak.rs | 4 +- src/mp4box/vmhd.rs | 4 +- 27 files changed, 144 insertions(+), 117 deletions(-) diff --git a/examples/mp4dump.rs b/examples/mp4dump.rs index 6050ebb..33b3ec0 100644 --- a/examples/mp4dump.rs +++ b/examples/mp4dump.rs @@ -4,7 +4,7 @@ use std::io::prelude::*; use std::io::{self, BufReader}; use std::path::Path; -use mp4::{Result}; +use mp4::{Result, Mp4Box}; fn main() { let args: Vec = env::args().collect(); @@ -21,70 +21,96 @@ fn main() { fn dump>(filename: &P) -> Result<()> { let f = File::open(filename)?; - let size = f.metadata()?.len(); - let reader = BufReader::new(f); + let boxes = get_boxes(f)?; - let mp4 = mp4::Mp4Reader::read_header(reader, size)?; - - // ftyp - println!("[{}] size={} ", mp4.ftyp.get_type(), mp4.ftyp.get_size()); - - // moov - println!("[{}] size={} ", mp4.moov.get_type(), mp4.moov.get_size()); - println!(" [{}] size={} ", mp4.moov.mvhd.get_type(), mp4.moov.mvhd.get_size()); - - // Tracks. - for track in mp4.tracks().iter() { - - // trak - println!(" [{}] size={} ", track.trak.get_type(), track.trak.get_size()); - println!(" [{}] size={} ", track.trak.tkhd.get_type(), track.trak.tkhd.get_size()); - if let Some(ref edts) = track.trak.edts { - println!(" [{}] size={} ", edts.get_type(), edts.get_size()); - if let Some(ref elst) = edts.elst { - println!(" [{}] size={} ", elst.get_type(), elst.get_size()); - } - } - - // trak.mdia. - println!(" [{}] size={} ", track.trak.mdia.get_type(), track.trak.mdia.get_size()); - println!(" [{}] size={} ", track.trak.mdia.mdhd.get_type(), track.trak.mdia.mdhd.get_size()); - println!(" [{}] size={} ", track.trak.mdia.hdlr.get_type(), track.trak.mdia.hdlr.get_size()); - println!(" [{}] size={} ", track.trak.mdia.minf.get_type(), track.trak.mdia.minf.get_size()); - - // trak.mdia.minf - if let Some(ref vmhd) = track.trak.mdia.minf.vmhd { - println!(" [{}] size={} ", vmhd.get_type(), vmhd.get_size()); - } - if let Some(ref smhd) = track.trak.mdia.minf.smhd { - println!(" [{}] size={} ", smhd.get_type(), smhd.get_size()); - } - - // trak.mdia.minf.stbl - println!(" [{}] size={} ", track.trak.mdia.minf.stbl.get_type(), track.trak.mdia.minf.stbl.get_size()); - println!(" [{}] size={} ", track.trak.mdia.minf.stbl.stsd.get_type(), track.trak.mdia.minf.stbl.stsd.get_size()); - if let Some(ref avc1) = track.trak.mdia.minf.stbl.stsd.avc1 { - println!(" [{}] size={} ", avc1.get_type(), avc1.get_size()); - } - if let Some(ref mp4a) = track.trak.mdia.minf.stbl.stsd.mp4a { - println!(" [{}] size={} ", mp4a.get_type(), mp4a.get_size()); - } - println!(" [{}] size={} ", track.trak.mdia.minf.stbl.stts.get_type(), track.trak.mdia.minf.stbl.stts.get_size()); - if let Some(ref ctts) = track.trak.mdia.minf.stbl.ctts { - println!(" [{}] size={} ", ctts.get_type(), ctts.get_size()); - } - if let Some(ref stss) = track.trak.mdia.minf.stbl.stss { - println!(" [{}] size={} ", stss.get_type(), stss.get_size()); - } - println!(" [{}] size={} ", track.trak.mdia.minf.stbl.stsc.get_type(), track.trak.mdia.minf.stbl.stsc.get_size()); - println!(" [{}] size={} ", track.trak.mdia.minf.stbl.stsz.get_type(), track.trak.mdia.minf.stbl.stsz.get_size()); - if let Some(ref stco) = track.trak.mdia.minf.stbl.stco { - println!(" [{}] size={} ", stco.get_type(), stco.get_size()); - } - if let Some(ref co64) = track.trak.mdia.minf.stbl.co64 { - println!(" [{}] size={} ", co64.get_type(), co64.get_size()); - } + // print out boxes + for b in boxes.iter() { + println!("[{}] size={}", b.name, b.size); } Ok(()) -} \ No newline at end of file +} + +#[derive(Debug, Clone, PartialEq, Default)] +pub struct Box { + name: String, + size: u64, + indent: u32, +} + +fn get_boxes(file: File) -> Result> { + let size = file.metadata()?.len(); + let reader = BufReader::new(file); + let mp4 = mp4::Mp4Reader::read_header(reader, size)?; + + // collect known boxes + let mut boxes = Vec::new(); + + // ftyp, moov, mvhd + boxes.push(build_box(&mp4.ftyp)); + boxes.push(build_box(&mp4.moov)); + boxes.push(build_box(&mp4.moov.mvhd)); + + // trak. + for track in mp4.tracks().iter() { + boxes.push(build_box(&track.trak)); + boxes.push(build_box(&track.trak.tkhd)); + if let Some(ref edts) = track.trak.edts { + boxes.push(build_box(edts)); + if let Some(ref elst) = edts.elst { + boxes.push(build_box(elst)); + } + } + + // trak.mdia + let mdia = &track.trak.mdia; + boxes.push(build_box(mdia)); + boxes.push(build_box(&mdia.mdhd)); + boxes.push(build_box(&mdia.hdlr)); + boxes.push(build_box(&track.trak.mdia.minf)); + + // trak.mdia.minf + let minf = &track.trak.mdia.minf; + if let Some(ref vmhd) = &minf.vmhd { + boxes.push(build_box(vmhd)); + } + if let Some(ref smhd) = &minf.smhd { + boxes.push(build_box(smhd)); + } + + // trak.mdia.minf.stbl + let stbl = &track.trak.mdia.minf.stbl; + boxes.push(build_box(stbl)); + boxes.push(build_box(&stbl.stsd)); + if let Some(ref avc1) = &stbl.stsd.avc1 { + boxes.push(build_box(avc1)); + } + if let Some(ref mp4a) = &stbl.stsd.mp4a { + boxes.push(build_box(mp4a)); + } + boxes.push(build_box(&stbl.stts)); + if let Some(ref ctts) = &stbl.ctts { + boxes.push(build_box(ctts)); + } + if let Some(ref stss) = &stbl.stss { + boxes.push(build_box(stss)); + } + boxes.push(build_box(&stbl.stsc)); + boxes.push(build_box(&stbl.stsz)); + if let Some(ref stco) = &stbl.stco { + boxes.push(build_box(stco)); + } + if let Some(ref co64) = &stbl.co64 { + boxes.push(build_box(co64)); + } + } + Ok(boxes) +} + +fn build_box(ref m: &M) -> Box { + return Box{ + name: m.box_type().to_string(), + size: m.box_size(), + indent: 0, + }; +} diff --git a/src/lib.rs b/src/lib.rs index fde9222..2b6b213 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -7,6 +7,7 @@ mod types; pub use types::*; mod mp4box; +pub use mp4box::{Mp4Box}; mod track; pub use track::{Mp4Track, TrackConfig}; diff --git a/src/mp4box/avc1.rs b/src/mp4box/avc1.rs index b923d25..2c1bba3 100644 --- a/src/mp4box/avc1.rs +++ b/src/mp4box/avc1.rs @@ -54,7 +54,7 @@ impl Avc1Box { } impl Mp4Box for Avc1Box { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::Avc1Box } @@ -110,7 +110,7 @@ impl ReadBox<&mut R> for Avc1Box { impl WriteBox<&mut W> for Avc1Box { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; writer.write_u32::(0)?; // reserved writer.write_u16::(0)?; // reserved @@ -162,7 +162,7 @@ impl AvcCBox { } impl Mp4Box for AvcCBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::AvcCBox } @@ -217,7 +217,7 @@ impl ReadBox<&mut R> for AvcCBox { impl WriteBox<&mut W> for AvcCBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; writer.write_u8(self.configuration_version)?; writer.write_u8(self.avc_profile_indication)?; diff --git a/src/mp4box/co64.rs b/src/mp4box/co64.rs index cbfb755..cbb64f2 100644 --- a/src/mp4box/co64.rs +++ b/src/mp4box/co64.rs @@ -21,7 +21,7 @@ impl Co64Box { } impl Mp4Box for Co64Box { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::Co64Box } @@ -56,7 +56,7 @@ impl ReadBox<&mut R> for Co64Box { impl WriteBox<&mut W> for Co64Box { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; write_box_header_ext(writer, self.version, self.flags)?; diff --git a/src/mp4box/ctts.rs b/src/mp4box/ctts.rs index b88ef31..d794dd1 100644 --- a/src/mp4box/ctts.rs +++ b/src/mp4box/ctts.rs @@ -27,7 +27,7 @@ pub struct CttsEntry { } impl Mp4Box for CttsBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::CttsBox } @@ -65,7 +65,7 @@ impl ReadBox<&mut R> for CttsBox { impl WriteBox<&mut W> for CttsBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; write_box_header_ext(writer, self.version, self.flags)?; diff --git a/src/mp4box/edts.rs b/src/mp4box/edts.rs index 3428b30..381c35b 100644 --- a/src/mp4box/edts.rs +++ b/src/mp4box/edts.rs @@ -27,7 +27,7 @@ impl EdtsBox { } impl Mp4Box for EdtsBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::EdtsBox } @@ -66,7 +66,7 @@ impl ReadBox<&mut R> for EdtsBox { impl WriteBox<&mut W> for EdtsBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; if let Some(ref elst) = self.elst { elst.write_box(writer)?; diff --git a/src/mp4box/elst.rs b/src/mp4box/elst.rs index 39c790b..6cec343 100644 --- a/src/mp4box/elst.rs +++ b/src/mp4box/elst.rs @@ -36,7 +36,7 @@ impl ElstBox { } impl Mp4Box for ElstBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::ElstBox } @@ -95,7 +95,7 @@ impl ReadBox<&mut R> for ElstBox { impl WriteBox<&mut W> for ElstBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; write_box_header_ext(writer, self.version, self.flags)?; diff --git a/src/mp4box/ftyp.rs b/src/mp4box/ftyp.rs index e56f1a5..62d3dc2 100644 --- a/src/mp4box/ftyp.rs +++ b/src/mp4box/ftyp.rs @@ -21,7 +21,7 @@ impl FtypBox { } impl Mp4Box for FtypBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::FtypBox } @@ -60,7 +60,7 @@ impl ReadBox<&mut R> for FtypBox { impl WriteBox<&mut W> for FtypBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; writer.write_u32::((&self.major_brand).into())?; writer.write_u32::(self.minor_version)?; diff --git a/src/mp4box/hdlr.rs b/src/mp4box/hdlr.rs index 52a5e69..c7931aa 100644 --- a/src/mp4box/hdlr.rs +++ b/src/mp4box/hdlr.rs @@ -22,7 +22,7 @@ impl HdlrBox { } impl Mp4Box for HdlrBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::HdlrBox } @@ -68,7 +68,7 @@ impl ReadBox<&mut R> for HdlrBox { impl WriteBox<&mut W> for HdlrBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; write_box_header_ext(writer, self.version, self.flags)?; diff --git a/src/mp4box/mdhd.rs b/src/mp4box/mdhd.rs index ea2418c..e8563b0 100644 --- a/src/mp4box/mdhd.rs +++ b/src/mp4box/mdhd.rs @@ -49,7 +49,7 @@ impl Default for MdhdBox { } impl Mp4Box for MdhdBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::MdhdBox } @@ -109,7 +109,7 @@ impl ReadBox<&mut R> for MdhdBox { impl WriteBox<&mut W> for MdhdBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; write_box_header_ext(writer, self.version, self.flags)?; diff --git a/src/mp4box/mdia.rs b/src/mp4box/mdia.rs index 997145c..c1d4cb8 100644 --- a/src/mp4box/mdia.rs +++ b/src/mp4box/mdia.rs @@ -21,7 +21,7 @@ impl MdiaBox { } impl Mp4Box for MdiaBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::MdiaBox } @@ -87,7 +87,7 @@ impl ReadBox<&mut R> for MdiaBox { impl WriteBox<&mut W> for MdiaBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; self.mdhd.write_box(writer)?; self.hdlr.write_box(writer)?; diff --git a/src/mp4box/minf.rs b/src/mp4box/minf.rs index 00a7b3f..b2f8547 100644 --- a/src/mp4box/minf.rs +++ b/src/mp4box/minf.rs @@ -29,7 +29,7 @@ impl MinfBox { } impl Mp4Box for MinfBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::MinfBox } @@ -101,7 +101,7 @@ impl ReadBox<&mut R> for MinfBox { impl WriteBox<&mut W> for MinfBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; if let Some(ref vmhd) = self.vmhd { vmhd.write_box(writer)?; diff --git a/src/mp4box/mod.rs b/src/mp4box/mod.rs index 0721e2c..180a96c 100644 --- a/src/mp4box/mod.rs +++ b/src/mp4box/mod.rs @@ -99,7 +99,7 @@ boxtype! { } pub trait Mp4Box: Sized { - fn box_type() -> BoxType; + fn box_type(&self) -> BoxType; fn box_size(&self) -> u64; } diff --git a/src/mp4box/moov.rs b/src/mp4box/moov.rs index 2cdb6fd..41c2823 100644 --- a/src/mp4box/moov.rs +++ b/src/mp4box/moov.rs @@ -24,7 +24,7 @@ impl MoovBox { } impl Mp4Box for MoovBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::MoovBox } @@ -88,7 +88,7 @@ impl ReadBox<&mut R> for MoovBox { impl WriteBox<&mut W> for MoovBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; self.mvhd.write_box(writer)?; for trak in self.traks.iter() { diff --git a/src/mp4box/mp4a.rs b/src/mp4box/mp4a.rs index 1f8ffb6..b90ed37 100644 --- a/src/mp4box/mp4a.rs +++ b/src/mp4box/mp4a.rs @@ -49,7 +49,7 @@ impl Mp4aBox { } impl Mp4Box for Mp4aBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::Mp4aBox } @@ -98,7 +98,7 @@ impl ReadBox<&mut R> for Mp4aBox { impl WriteBox<&mut W> for Mp4aBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; writer.write_u32::(0)?; // reserved writer.write_u16::(0)?; // reserved @@ -136,7 +136,7 @@ impl EsdsBox { } impl Mp4Box for EsdsBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::EsdsBox } @@ -183,7 +183,7 @@ impl ReadBox<&mut R> for EsdsBox { impl WriteBox<&mut W> for EsdsBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; write_box_header_ext(writer, self.version, self.flags)?; diff --git a/src/mp4box/mvhd.rs b/src/mp4box/mvhd.rs index 0b62c76..ea5387d 100644 --- a/src/mp4box/mvhd.rs +++ b/src/mp4box/mvhd.rs @@ -47,7 +47,7 @@ impl Default for MvhdBox { } impl Mp4Box for MvhdBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::MvhdBox } @@ -105,7 +105,7 @@ impl ReadBox<&mut R> for MvhdBox { impl WriteBox<&mut W> for MvhdBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; write_box_header_ext(writer, self.version, self.flags)?; diff --git a/src/mp4box/smhd.rs b/src/mp4box/smhd.rs index fa9728e..1fc8f1b 100644 --- a/src/mp4box/smhd.rs +++ b/src/mp4box/smhd.rs @@ -31,7 +31,7 @@ impl Default for SmhdBox { } impl Mp4Box for SmhdBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::SmhdBox } @@ -61,7 +61,7 @@ impl ReadBox<&mut R> for SmhdBox { impl WriteBox<&mut W> for SmhdBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; write_box_header_ext(writer, self.version, self.flags)?; diff --git a/src/mp4box/stbl.rs b/src/mp4box/stbl.rs index e5f275c..14c6310 100644 --- a/src/mp4box/stbl.rs +++ b/src/mp4box/stbl.rs @@ -46,7 +46,7 @@ impl StblBox { } impl Mp4Box for StblBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::StblBox } @@ -159,7 +159,7 @@ impl ReadBox<&mut R> for StblBox { impl WriteBox<&mut W> for StblBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; self.stsd.write_box(writer)?; self.stts.write_box(writer)?; diff --git a/src/mp4box/stco.rs b/src/mp4box/stco.rs index 307214d..ea86dfc 100644 --- a/src/mp4box/stco.rs +++ b/src/mp4box/stco.rs @@ -21,7 +21,7 @@ impl StcoBox { } impl Mp4Box for StcoBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::StcoBox } @@ -56,7 +56,7 @@ impl ReadBox<&mut R> for StcoBox { impl WriteBox<&mut W> for StcoBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; write_box_header_ext(writer, self.version, self.flags)?; diff --git a/src/mp4box/stsc.rs b/src/mp4box/stsc.rs index 59d03b3..228a10e 100644 --- a/src/mp4box/stsc.rs +++ b/src/mp4box/stsc.rs @@ -29,7 +29,7 @@ pub struct StscEntry { } impl Mp4Box for StscBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::StscBox } @@ -82,7 +82,7 @@ impl ReadBox<&mut R> for StscBox { impl WriteBox<&mut W> for StscBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; write_box_header_ext(writer, self.version, self.flags)?; diff --git a/src/mp4box/stsd.rs b/src/mp4box/stsd.rs index 4d63a24..64e1d08 100644 --- a/src/mp4box/stsd.rs +++ b/src/mp4box/stsd.rs @@ -29,7 +29,7 @@ impl StsdBox { } impl Mp4Box for StsdBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::StsdBox } @@ -83,7 +83,7 @@ impl ReadBox<&mut R> for StsdBox { impl WriteBox<&mut W> for StsdBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; write_box_header_ext(writer, self.version, self.flags)?; diff --git a/src/mp4box/stss.rs b/src/mp4box/stss.rs index 255df40..faffe65 100644 --- a/src/mp4box/stss.rs +++ b/src/mp4box/stss.rs @@ -21,7 +21,7 @@ impl StssBox { } impl Mp4Box for StssBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::StssBox } @@ -56,7 +56,7 @@ impl ReadBox<&mut R> for StssBox { impl WriteBox<&mut W> for StssBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; write_box_header_ext(writer, self.version, self.flags)?; diff --git a/src/mp4box/stsz.rs b/src/mp4box/stsz.rs index 1c6afdc..ad7dc83 100644 --- a/src/mp4box/stsz.rs +++ b/src/mp4box/stsz.rs @@ -23,7 +23,7 @@ impl StszBox { } impl Mp4Box for StszBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::StszBox } @@ -63,7 +63,7 @@ impl ReadBox<&mut R> for StszBox { impl WriteBox<&mut W> for StszBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; write_box_header_ext(writer, self.version, self.flags)?; diff --git a/src/mp4box/stts.rs b/src/mp4box/stts.rs index 89f156d..192e6a6 100644 --- a/src/mp4box/stts.rs +++ b/src/mp4box/stts.rs @@ -27,7 +27,7 @@ pub struct SttsEntry { } impl Mp4Box for SttsBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::SttsBox } @@ -65,7 +65,7 @@ impl ReadBox<&mut R> for SttsBox { impl WriteBox<&mut W> for SttsBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; write_box_header_ext(writer, self.version, self.flags)?; diff --git a/src/mp4box/tkhd.rs b/src/mp4box/tkhd.rs index 2ee4cdb..022eb1a 100644 --- a/src/mp4box/tkhd.rs +++ b/src/mp4box/tkhd.rs @@ -78,7 +78,7 @@ impl TkhdBox { } impl Mp4Box for TkhdBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::TkhdBox } @@ -162,7 +162,7 @@ impl ReadBox<&mut R> for TkhdBox { impl WriteBox<&mut W> for TkhdBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; write_box_header_ext(writer, self.version, self.flags)?; diff --git a/src/mp4box/trak.rs b/src/mp4box/trak.rs index e8c8d33..95440cd 100644 --- a/src/mp4box/trak.rs +++ b/src/mp4box/trak.rs @@ -27,7 +27,7 @@ impl TrakBox { } impl Mp4Box for TrakBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::TrakBox } @@ -96,7 +96,7 @@ impl ReadBox<&mut R> for TrakBox { impl WriteBox<&mut W> for TrakBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; self.tkhd.write_box(writer)?; if let Some(ref edts) = self.edts { diff --git a/src/mp4box/vmhd.rs b/src/mp4box/vmhd.rs index 16d31fe..0edb8b2 100644 --- a/src/mp4box/vmhd.rs +++ b/src/mp4box/vmhd.rs @@ -29,7 +29,7 @@ impl VmhdBox { } impl Mp4Box for VmhdBox { - fn box_type() -> BoxType { + fn box_type(&self) -> BoxType { BoxType::VmhdBox } @@ -65,7 +65,7 @@ impl ReadBox<&mut R> for VmhdBox { impl WriteBox<&mut W> for VmhdBox { fn write_box(&self, writer: &mut W) -> Result { let size = self.box_size(); - BoxHeader::new(Self::box_type(), size).write(writer)?; + BoxHeader::new(self.box_type(), size).write(writer)?; write_box_header_ext(writer, self.version, self.flags)?;