summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/image.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/image.cc b/src/image.cc
index 111568c..c540387 100644
--- a/src/image.cc
+++ b/src/image.cc
@@ -142,6 +142,14 @@ void load_exif(std::filesystem::path const& path, ImageImpl* img) {
}
}
entry = exif_content_get_entry(data->ifd[EXIF_IFD_0], EXIF_TAG_DATE_TIME);
+ if (!entry) {
+ entry = exif_content_get_entry(data->ifd[EXIF_IFD_EXIF],
+ EXIF_TAG_DATE_TIME_ORIGINAL);
+ if (!entry) {
+ entry = exif_content_get_entry(data->ifd[EXIF_IFD_EXIF],
+ EXIF_TAG_DATE_TIME_DIGITIZED);
+ }
+ }
if (entry && entry->format == EXIF_FORMAT_ASCII) {
auto date = Date::from_format("%Y:%m:%d %H:%M:%S",
reinterpret_cast<char const*>(entry->data));