-
Notifications
You must be signed in to change notification settings - Fork 278
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Account for header bytes for Exif and XMP boxes #2234
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good 2 M at the 1st sight. Will try l8r in the evening.
Wonderful, this now breaks AVIF/HEIF tests 😠 Unfortunately I won't have time to look into this in more detail any time soon... |
f69cbb9
to
27e9deb
Compare
Ok, better with the approach changed to handle just the boxes in question. P.S. No idea what's up w/ the archlinux jobs... |
Codecov Report
@@ Coverage Diff @@
## main #2234 +/- ##
=======================================
Coverage 63.42% 63.42%
=======================================
Files 117 117
Lines 19593 19592 -1
Branches 9551 9550 -1
=======================================
Hits 12426 12426
Misses 5098 5098
+ Partials 2069 2068 -1
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for taking care of this.
I just made a small suggestion, feel free to implement it or ignore it.
Regarding the failing CI jobs on windows, I will try to retrigger them. It seems to be a network hiccup while downloading conan packages.
auto lengthSizeT = static_cast<size_t>(length); | ||
DataBuf xmp(lengthSizeT + 1); | ||
xmp.write_uint8(lengthSizeT, 0); // ensure xmp is null terminated! | ||
if (io_->read(xmp.data(), lengthSizeT) != lengthSizeT) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[suggestion] I would suggest to use here BasicIo::readOrThrow()
to replace lines 533-536. It is not a big deal, but it reduces some LoC.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then it would be good address all the other instances of io_->read() in this file which I'm not inclined to address right now, so this minimal fix is hopefully ok for now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sure, maybe it makes more sense to address such changes as a whole in a different branch 👍
It seems that the problems with Conan are related to an upgrade in zlib:
The tarball for zlib-1.2.11 is not available anymore in the webpage. I'll check how to deal with this situation in another branch. |
Ok to merge then? |
Yes, I think I can deal with those issues in other moment. |
Account for header bytes for Exif and XMP boxes (backport #2234)
Fixes #2233