-
Bug fixed: "Box is too big" error when parsing some mov/mp4 files
No need to limit box body size when parsing/traveling box headers, only need to do that limitation when parsing box body (this restriction is necessary for the robustness of the program). Additionally, I also changed the size limit on the box body to a more reasonable value.
ParsedExifEntry
ExifTag::Unknown
parse_exif
parse_exif_async
ExifIter
GPSInfo
FileFormat
Exif::get
Exif::get_by_tag_code
EntryValue::URationalArray
EntryValue::IRationalArray
Error::InvalidEntry
Error::EntryHasBeenTaken
Exif::get_values
deprecatedExif::get_value
deprecatedExif::get_value_by_tag_code
deprecatedError::NotFound
deprecated
- Avoid data copying when extracting moov body.
- impl
Send
+Sync
forExif
, so we can use it in multi-thread environment
- Avoid data copying during parsing IFD entries.
- Introduce tracing, and replace printing with tracing.
- Bug fixed: A broken JPEG file - Library cannot read it, that exiftool reads properly #2
- Bug fixed: Another Unsupported MP4 file #7
- Remove redundant
fn open_sample
definitions in test cases. - Use
read_sample
instead ofopen_sample
when possible.
- Bug fixed: Unsupported mov file? #7
- Change
travel_while
to return a result of optionalBoxHolder
, so we can distinguish whether it is a parsing error or just not found.
- Compatibility has been greatly improved: compatible brands in ftyp box has been checked, and now it can support various compatible MP4/MOV files.
- All clippy warnings has been fixed!
-
Deprecated some less commonly used APIs and introduced several new ones, mainly to satisfy clippy requirements, e.g.:
GPSInfo.to_iso6709
->format_iso6709
URational.to_float
->as_float
See commit 8c5dc26.
- Fuzz testing: Added afl-fuzz for fuzz testing.
- Robustness improved: Fixed all crash issues discovered during fuzz testing.
- Clippy warnings: Checked with the latest clippy and fixed almost all of the warnings.