├── .github └── workflows │ └── build.yml ├── .gitignore ├── .rustfmt.toml ├── CHANGELOG.md ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── examples └── string_encoding.rs ├── files ├── .gitignore ├── artwork.png ├── sample-64.mp4 ├── sample-chaptered.m4a ├── sample-multi-data.m4a ├── sample-multi-track.3gp └── sample.m4a ├── fuzz ├── .gitignore ├── Cargo.toml └── fuzz_targets │ └── fuzz_read.rs ├── gen ├── .gitignore ├── Cargo.toml └── src │ └── main.rs ├── src ├── atom │ ├── change.rs │ ├── chap.rs │ ├── chpl.rs │ ├── co64.rs │ ├── data.rs │ ├── dinf.rs │ ├── dref.rs │ ├── ftyp.rs │ ├── gmhd.rs │ ├── gmin.rs │ ├── hdlr.rs │ ├── head.rs │ ├── ident.rs │ ├── ilst.rs │ ├── mdat.rs │ ├── mdhd.rs │ ├── mdia.rs │ ├── meta.rs │ ├── metaitem.rs │ ├── minf.rs │ ├── mod.rs │ ├── moov.rs │ ├── mp4a.rs │ ├── mvhd.rs │ ├── state.rs │ ├── stbl.rs │ ├── stco.rs │ ├── stsc.rs │ ├── stsd.rs │ ├── stsz.rs │ ├── stts.rs │ ├── text.rs │ ├── tkhd.rs │ ├── trak.rs │ ├── tref.rs │ ├── udta.rs │ ├── url.rs │ └── util.rs ├── error.rs ├── lib.rs ├── tag │ ├── mod.rs │ ├── readonly.rs │ └── userdata │ │ ├── generate.toml │ │ ├── generated.rs │ │ ├── genre.rs │ │ ├── mod.rs │ │ └── tuple.rs ├── types.rs └── util.rs └── tests ├── handling.rs └── io.rs /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.idea 2 | /target 3 | Cargo.lock 4 | bacon.toml 5 | -------------------------------------------------------------------------------- /.rustfmt.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/.rustfmt.toml -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/LICENSE-APACHE -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/LICENSE-MIT -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/README.md -------------------------------------------------------------------------------- /examples/string_encoding.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/examples/string_encoding.rs -------------------------------------------------------------------------------- /files/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/files/.gitignore -------------------------------------------------------------------------------- /files/artwork.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/files/artwork.png -------------------------------------------------------------------------------- /files/sample-64.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/files/sample-64.mp4 -------------------------------------------------------------------------------- /files/sample-chaptered.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/files/sample-chaptered.m4a -------------------------------------------------------------------------------- /files/sample-multi-data.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/files/sample-multi-data.m4a -------------------------------------------------------------------------------- /files/sample-multi-track.3gp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/files/sample-multi-track.3gp -------------------------------------------------------------------------------- /files/sample.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/files/sample.m4a -------------------------------------------------------------------------------- /fuzz/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | corpus 3 | artifacts 4 | coverage 5 | -------------------------------------------------------------------------------- /fuzz/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/fuzz/Cargo.toml -------------------------------------------------------------------------------- /fuzz/fuzz_targets/fuzz_read.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/fuzz/fuzz_targets/fuzz_read.rs -------------------------------------------------------------------------------- /gen/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | Cargo.lock 3 | -------------------------------------------------------------------------------- /gen/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/gen/Cargo.toml -------------------------------------------------------------------------------- /gen/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/gen/src/main.rs -------------------------------------------------------------------------------- /src/atom/change.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/change.rs -------------------------------------------------------------------------------- /src/atom/chap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/chap.rs -------------------------------------------------------------------------------- /src/atom/chpl.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/chpl.rs -------------------------------------------------------------------------------- /src/atom/co64.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/co64.rs -------------------------------------------------------------------------------- /src/atom/data.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/data.rs -------------------------------------------------------------------------------- /src/atom/dinf.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/dinf.rs -------------------------------------------------------------------------------- /src/atom/dref.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/dref.rs -------------------------------------------------------------------------------- /src/atom/ftyp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/ftyp.rs -------------------------------------------------------------------------------- /src/atom/gmhd.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/gmhd.rs -------------------------------------------------------------------------------- /src/atom/gmin.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/gmin.rs -------------------------------------------------------------------------------- /src/atom/hdlr.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/hdlr.rs -------------------------------------------------------------------------------- /src/atom/head.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/head.rs -------------------------------------------------------------------------------- /src/atom/ident.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/ident.rs -------------------------------------------------------------------------------- /src/atom/ilst.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/ilst.rs -------------------------------------------------------------------------------- /src/atom/mdat.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/mdat.rs -------------------------------------------------------------------------------- /src/atom/mdhd.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/mdhd.rs -------------------------------------------------------------------------------- /src/atom/mdia.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/mdia.rs -------------------------------------------------------------------------------- /src/atom/meta.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/meta.rs -------------------------------------------------------------------------------- /src/atom/metaitem.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/metaitem.rs -------------------------------------------------------------------------------- /src/atom/minf.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/minf.rs -------------------------------------------------------------------------------- /src/atom/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/mod.rs -------------------------------------------------------------------------------- /src/atom/moov.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/moov.rs -------------------------------------------------------------------------------- /src/atom/mp4a.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/mp4a.rs -------------------------------------------------------------------------------- /src/atom/mvhd.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/mvhd.rs -------------------------------------------------------------------------------- /src/atom/state.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/state.rs -------------------------------------------------------------------------------- /src/atom/stbl.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/stbl.rs -------------------------------------------------------------------------------- /src/atom/stco.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/stco.rs -------------------------------------------------------------------------------- /src/atom/stsc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/stsc.rs -------------------------------------------------------------------------------- /src/atom/stsd.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/stsd.rs -------------------------------------------------------------------------------- /src/atom/stsz.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/stsz.rs -------------------------------------------------------------------------------- /src/atom/stts.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/stts.rs -------------------------------------------------------------------------------- /src/atom/text.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/text.rs -------------------------------------------------------------------------------- /src/atom/tkhd.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/tkhd.rs -------------------------------------------------------------------------------- /src/atom/trak.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/trak.rs -------------------------------------------------------------------------------- /src/atom/tref.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/tref.rs -------------------------------------------------------------------------------- /src/atom/udta.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/udta.rs -------------------------------------------------------------------------------- /src/atom/url.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/url.rs -------------------------------------------------------------------------------- /src/atom/util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/atom/util.rs -------------------------------------------------------------------------------- /src/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/error.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/tag/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/tag/mod.rs -------------------------------------------------------------------------------- /src/tag/readonly.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/tag/readonly.rs -------------------------------------------------------------------------------- /src/tag/userdata/generate.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/tag/userdata/generate.toml -------------------------------------------------------------------------------- /src/tag/userdata/generated.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/tag/userdata/generated.rs -------------------------------------------------------------------------------- /src/tag/userdata/genre.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/tag/userdata/genre.rs -------------------------------------------------------------------------------- /src/tag/userdata/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/tag/userdata/mod.rs -------------------------------------------------------------------------------- /src/tag/userdata/tuple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/tag/userdata/tuple.rs -------------------------------------------------------------------------------- /src/types.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/types.rs -------------------------------------------------------------------------------- /src/util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/src/util.rs -------------------------------------------------------------------------------- /tests/handling.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/tests/handling.rs -------------------------------------------------------------------------------- /tests/io.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saecki/mp4ameta/HEAD/tests/io.rs --------------------------------------------------------------------------------