https://bugs.kde.org/show_bug.cgi?id=400140

--- Comment #18 from caulier.gil...@gmail.com ---
I fixed the code to backport all metadat from RAW to JPEG :

    DMetadata meta;
    ret = meta.load(file);

    QByteArray exif = meta.getExifEncoded();
    QByteArray iptc = meta.getIptc();
    QByteArray xmp  = meta.getXmp();

    meta.load(path);
    meta.setExif(exif);
    meta.setIptc(iptc);
    meta.setXmp(xmp);
    meta.setImageDimensions(image.size());
    meta.setImageOrientation(MetaEngine::ORIENTATION_NORMAL);
    meta.setMetadataWritingMode((int)DMetadata::WRITETOIMAGEONLY);
    ret = meta.applyChanges(true);

This code is inspired from Panorama tool which backport from RAW to TIFF.

It still crash but now i know where exactly : meta.getExifEncoded()

#0  0x00007fd8a2b794c3 in waitpid () at /usr/lib64/qt5/../libc.so.6
#1  0x00007fd8a2afb14c in do_system () at /usr/lib64/qt5/../libc.so.6
#2  0x00007fd8b2fd392c in stackTrace() [clone .part.2] () at
/usr/lib64/qt5/../libQt5Test.so.5
#3  0x00007fd8b2fd39cd in stackTrace() () at /usr/lib64/qt5/../libQt5Test.so.5
#4  0x00007fd8b2fd3a62 in QTest::FatalSignalHandler::signal(int) () at
/usr/lib64/qt5/../libQt5Test.so.5
#5  0x00007fd8b0328bb0 in <signal handler called> () at
/usr/lib64/qt5/../libpthread.so.0
#6  0x00007fd8ab452de2 in Exiv2::ExifParser::encode(std::vector<unsigned char,
std::allocator<unsigned char> >&, unsigned char const*, unsigned int,
Exiv2::ByteOrder, Exiv2::ExifData const&) () at /usr/lib64/qt5/../libexiv2.so.0
#7  0x00007fd8b1dcf38b in Exiv2::ExifParser::encode(std::vector<unsigned char,
std::allocator<unsigned char> >&, Exiv2::ByteOrder, Exiv2::ExifData const&)
(blob=std::vector of length 0, capacity 0, byteOrder=Exiv2::bigEndian,
exifData=...)
    at /usr/include/exiv2/exif.hpp:622
#8  0x00007fd8b1dc6bc7 in Digikam::MetaEngine::getExifEncoded(bool) const
(this=0x7ffe5b6b87f0, addExifHeader=false)
    at
/mnt/data/GIT/6.x/core/libs/metadataengine/engine/metaengine_exif.cpp:104

For me it's clearly an Exiv2 problem. Loading Exif metadata must not be a
problem here...

Gilles Caulier

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to