Summary: | No error message when Digikam fails to read XMP metadata from image file | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | José Oliver-Didier <jose_oliver> |
Component: | Metadata-ExifTool | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | minor | CC: | caulier.gilles, metzpinguin |
Priority: | NOR | ||
Version: | 7.1.0 | ||
Target Milestone: | --- | ||
Platform: | Microsoft Windows | ||
OS: | Microsoft Windows | ||
Latest Commit: | Version Fixed In: | 8.0.0 | |
Sentry Crash Report: | |||
Attachments: |
Test files
DebugView log |
Description
José Oliver-Didier
2021-01-28 23:25:54 UTC
There is no relapse from XMP sidecar to image metadata. The XMP sidecar metadata is always mixed with the image metadata. The XMP sidecars have a higher priority. A tag that is present in the image but not in the XMP is then not imported, etc. This behavior has proven itself over many years. Maik Oh, it's about the XMP files in the image. I don't think we will flood a window or the the system message bar for every error message that Exiv2 displays. That would be too much messages. Maik Adding for reference (may be of help to someone) a link to a forum post from the Exiftool Forums in which a method for detecting image files with such a condition and for correcting them. https://exiftool.org/forum/index.php?topic=12367.msg66881 Created attachment 146120 [details]
DebugView log
Seems Digikam can detect this condition when reading metadata from file (ref attached log):
[5476] digikam.metaengine: Exiv2 ( 3 ) : XMP Toolkit error 101: Schema namespace URI and prefix mismatch
[5476] digikam.metaengine: Exiv2 ( 2 ) : Failed to decode XMP metadata.
Exiftool can read the XMP ok. Could Exiftool be used instead to obtain the main XMP values which Digikam uses such as captions, tags, and face regions?
One should understand that the Adobe XMP SDK reports this error and cannot decode the XMP metadata. So the metadata is definitely defective or created incorrectly. The ExifTool can read it is because it has its own parser for the metadata that ignores errors. However, you will have problems with the image in most programs, since they use the Adobe XMP SDK. Maik Yes, of course ExifTool can be used as well, and it's planed for specific tasks. Look the grouped bug entries from Metadata-ExifTool component: https://bugs.kde.org/buglist.cgi?component=Metadata-ExifTool&list_id=1971501&product=digikam&resolution=--- Gilles caulier Git commit 802d92a3ec46e2ca1b60aa0e2e9bdb8516d4f041 by Maik Qualmann. Committed on 24/04/2022 at 14:58. Pushed by mqualmann into branch 'master'. add read Exiv2 warnings and errors to then read the metadata with ExifTool Related: bug 452567, bug 450117, bug 446363, bug 449637 M +6 -0 core/libs/metadataengine/engine/metaengine_fileio.cpp M +8 -0 core/libs/metadataengine/engine/metaengine_p.cpp M +1 -0 core/libs/metadataengine/engine/metaengine_p.h https://invent.kde.org/graphics/digikam/commit/802d92a3ec46e2ca1b60aa0e2e9bdb8516d4f041 The test files work fine in digiKam-8.0.0, when an error or warning occurs in Exiv2, ExifTool is automatically used to read the metadata. Maik |