| 721 | } |
| 722 | |
| 723 | void BmffImage::readMetadata() { |
| 724 | openOrThrow(); |
| 725 | IoCloser closer(*io_); |
| 726 | |
| 727 | clearMetadata(); |
| 728 | ilocs_.clear(); |
| 729 | visits_max_ = io_->size() / 16; |
| 730 | unknownID_ = 0xffff; |
| 731 | exifID_ = unknownID_; |
| 732 | xmpID_ = unknownID_; |
| 733 | |
| 734 | uint64_t address = 0; |
| 735 | const auto file_end = io_->size(); |
| 736 | while (address < file_end) { |
| 737 | io_->seek(address, BasicIo::beg); |
| 738 | address = boxHandler(std::cout, kpsNone, file_end, 0); |
| 739 | } |
| 740 | bReadMetadata_ = true; |
| 741 | } // BmffImage::readMetadata |
| 742 | |
| 743 | void BmffImage::printStructure(std::ostream& out, Exiv2::PrintStructureOption option, size_t depth) { |
| 744 | if (!bReadMetadata_) |