Bug 337422 - EXIF thumbnail date information not updated when writing metadata to image
Summary: EXIF thumbnail date information not updated when writing metadata to image
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Plugin-Generic-TimeAdjust (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-07-13 17:58 UTC by Michele
Modified: 2018-09-22 08:33 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.5.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michele 2014-07-13 17:58:29 UTC
After adjusting the date of some photos to subtract 6 hours, the EXIF data of the image and of the embedded thumbnail (directly embedded by the camera) are not the same.
The image EXIF data are fine and reflect the update I have done, whilst the thumbnail data are untouched and are still aligned to the original time.
Please refer to the attached URL for the example.

Reproducible: Always

Steps to Reproduce:
1. Select an image with an embedded thumbnail
2. Image -> Adjust Time and Date...
3. Subtract 6 hours (for example), then press apply
4. Image -> Write metadata to image (first make sure the option to write the metadata timestamp to the image is ticked)

Actual Results:  
The image and the Embedded Thumbnail have different timestamp

Expected Results:  
Embedded Thumbnail has same timestamp as the image

Screenshot with the problem in Digikam:
https://dl.dropboxusercontent.com/u/151071/Embedded_Exif_Digikam.png

Sample image:
https://dl.dropboxusercontent.com/u/151071/DSC00193.JPG

I am flagging the severity as "Normal" as there is no easy workaround: Shotwell is using the thumbnail data for some (strange) reason, and although you could remove the thumbnail or update it using 'exiftool', this is something that only a power user could be able to achieve.
Comment 1 Michele 2014-07-13 18:15:25 UTC
After a few test, I realized that also the "Date and Time (digitalized)" timestamp is not updated when writing the metadata, while the "Date and Time (original)" is. Very likely Shotwell is reading the "digitalized" value. Nautilus and EOG are reading the "original".
Comment 2 caulier.gilles 2014-10-21 07:22:43 UTC
About Comment #1 : Date time original and digitized are updated in Exif. Look code here :

https://projects.kde.org/projects/extragear/graphics/kipi-plugins/repository/revisions/master/entry/timeadjust/task.cpp#L125
Comment 3 caulier.gilles 2014-10-21 08:35:16 UTC
Git commit b592338fb85547b1f8467a228360bbae8db2ecb0 by Gilles Caulier.
Committed on 21/10/2014 at 08:34.
Pushed by cgilles into branch 'master'.

set Exif thumbnail date time tags when date is changed

M  +1    -0    libkexiv2/kexiv2image.cpp

http://commits.kde.org/libkexiv2/b592338fb85547b1f8467a228360bbae8db2ecb0
Comment 4 caulier.gilles 2014-10-21 08:36:59 UTC
Git commit 25ff30d3db53fa68dbd940bb73c125504fac4144 by Gilles Caulier.
Committed on 21/10/2014 at 08:35.
Pushed by cgilles into branch 'master'.

Handle Exif Thumbnail Date time tag in list possible Exif tags to update from TimeAdjust kipi-plugin
FIXED-IN: 4.5.0

M  +4    -4    timeadjust/actionthread.cpp
M  +2    -3    timeadjust/actionthread.h
M  +11   -11   timeadjust/clockphotodialog.cpp
M  +1    -1    timeadjust/clockphotodialog.h
M  +7    -4    timeadjust/myimagelist.cpp
M  +2    -2    timeadjust/myimagelist.h
M  +5    -2    timeadjust/plugin_timeadjust.cpp
M  +1    -1    timeadjust/plugin_timeadjust.h
M  +19   -11   timeadjust/settingswidget.cpp
M  +4    -4    timeadjust/settingswidget.h
M  +16   -7    timeadjust/task.cpp
M  +1    -1    timeadjust/task.h
M  +15   -12   timeadjust/timeadjustdialog.cpp
M  +3    -3    timeadjust/timeadjustdialog.h
M  +4    -1    timeadjust/timeadjustsettings.h

http://commits.kde.org/kipi-plugins/25ff30d3db53fa68dbd940bb73c125504fac4144