Fix/add exceptions for BMFF based files (#2364)
* Fix BmffImage::writeMetadata() error id/message * Add exceptions setting Exif/IPTC/XMP in BMFF * Add missing header for new functions
This commit is contained in:
parent
a8a35345c8
commit
a2cb06a28e
@ -99,6 +99,9 @@ class EXIV2API BmffImage : public Image {
|
||||
//@{
|
||||
void readMetadata() override;
|
||||
void writeMetadata() override;
|
||||
void setExifData(const ExifData&) override;
|
||||
void setIptcData(const IptcData&) override;
|
||||
void setXmpData(const XmpData&) override;
|
||||
void setComment(const std::string& comment) override;
|
||||
void printStructure(std::ostream& out, Exiv2::PrintStructureOption option, size_t depth) override;
|
||||
//@}
|
||||
|
||||
@ -577,6 +577,18 @@ void BmffImage::parseCr3Preview(DataBuf& data, std::ostream& out, bool bTrace, u
|
||||
}
|
||||
}
|
||||
|
||||
void BmffImage::setExifData(const ExifData& /*exifData*/) {
|
||||
throw(Error(ErrorCode::kerInvalidSettingForImage, "Exif metadata", "BMFF"));
|
||||
}
|
||||
|
||||
void BmffImage::setIptcData(const IptcData& /*iptcData*/) {
|
||||
throw(Error(ErrorCode::kerInvalidSettingForImage, "IPTC metadata", "BMFF"));
|
||||
}
|
||||
|
||||
void BmffImage::setXmpData(const XmpData& /*xmpData*/) {
|
||||
throw(Error(ErrorCode::kerInvalidSettingForImage, "XMP metadata", "BMFF"));
|
||||
}
|
||||
|
||||
void BmffImage::setComment(const std::string&) {
|
||||
// bmff files are read-only
|
||||
throw(Error(ErrorCode::kerInvalidSettingForImage, "Image comment", "BMFF"));
|
||||
@ -652,7 +664,7 @@ void BmffImage::printStructure(std::ostream& out, Exiv2::PrintStructureOption op
|
||||
|
||||
void BmffImage::writeMetadata() {
|
||||
// bmff files are read-only
|
||||
throw(Error(ErrorCode::kerInvalidSettingForImage, "Image comment", "BMFF"));
|
||||
throw(Error(ErrorCode::kerWritingImageFormatUnsupported, "BMFF"));
|
||||
} // BmffImage::writeMetadata
|
||||
|
||||
// *************************************************************************
|
||||
|
||||
Loading…
Reference in New Issue
Block a user