MCPcopy Create free account
hub / github.com/Exiv2/exiv2 / writeMetadata

Method writeMetadata

src/cr2image.cpp:76–98  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

74} // Cr2Image::readMetadata
75
76void Cr2Image::writeMetadata() {
77#ifdef EXIV2_DEBUG_MESSAGES
78 std::cerr << "Writing CR2 file " << io_->path() << "\n";
79#endif
80 ByteOrder bo = byteOrder();
81 byte* pData = nullptr;
82 size_t size = 0;
83 IoCloser closer(*io_);
84 // Ensure that this is the correct image type
85 if (io_->open() == 0 && isCr2Type(*io_, false)) {
86 pData = io_->mmap(true);
87 size = io_->size();
88 Internal::Cr2Header cr2Header;
89 if (0 == cr2Header.read(pData, 16)) {
90 bo = cr2Header.byteOrder();
91 }
92 }
93 if (bo == invalidByteOrder) {
94 bo = littleEndian;
95 }
96 setByteOrder(bo);
97 Cr2Parser::encode(*io_, pData, size, bo, exifData_, iptcData_, xmpData_); // may throw
98} // Cr2Image::writeMetadata
99
100ByteOrder Cr2Parser::decode(ExifData& exifData, IptcData& iptcData, XmpData& xmpData, const byte* pData, size_t size) {
101 Internal::Cr2Header cr2Header;

Callers

nothing calls this directly

Calls 7

isCr2TypeFunction · 0.85
encodeFunction · 0.85
mmapMethod · 0.80
openMethod · 0.45
sizeMethod · 0.45
readMethod · 0.45
byteOrderMethod · 0.45

Tested by

no test coverage detected