This introduces the 'Metadata' trait to enable access
to common video metadata such
title, year, cover art and more.
Reading 'title', 'description', 'poster' and 'year'
metadata is implemented here.
* fix clippy::unused_io_amount
See related clippy documentation,
but in short some partial reads can occur
in particular with io on the networl.
read_exact/write_all transparently handle such errors.
The fix actually revealed a bug
in 'mp4a' atom parsing, but this is a dangerous change:
Parsing bugs that were transparently ignored
are now failing with error (unattended io eof).
* fix trivial clippy errors
* fix clippy error with always 0 value
* run ci/cd with clippy and latest rust version
Initial effort to reduce or eliminate the use of assertions in the
production code (i.e. not test code). See issue 43 for an example of how
this can cause an application (thread) to panic when reading an unusual
file. Not all of the changes were as simple as returning an Err, since some
functions did not return a Result. Also, the error type used (InvalidData)
is just a catch-all with a message, and in some cases a more refined error
type may be in order.
cargo test passes
* feat: mvex box中的mehd box改为可选,支持fmp4的解析
* feat: example/mp4sample supports fragmented mp4
* feat: utilize function sample_count(), extract duplicated codes as a new function
* feat: field data_offset in TrunBox is optional
* feat: remove an ".expect()"
* feat: remove an ".expect()"
* chore: re-style code
* feat: mvex box中的mehd box改为可选,支持fmp4的解析
* feat: support to copy mp4 with vp9 codec, but not support to copy fmp4 with vp9 codec
* Update types.rs
undo unnecessary changes.
* Update types.rs
undo reduce unnecessary changes.
* Update types.rs
* Update mp4copy.rs
Add vp9 code after h265
* Update stsd.rs
Add vp09 after the Hevc
* Update types.rs
Add after the HevcConfig.
* fix: Track.rs add vp9 support
* feat: mp4 writer set vp09 box into stsd box
* Add Mp4Box traits for getting json or text summary for each box.
* fix test and serde version.
* skip serializing entries
* skip serializing sample_sizes
* Add custom serializer for FixedPoint types.