diff options
-rw-r--r-- | core/dive.c | 10 | ||||
-rw-r--r-- | core/metadata.cpp | 9 | ||||
-rw-r--r-- | core/metadata.h | 1 |
3 files changed, 6 insertions, 14 deletions
diff --git a/core/dive.c b/core/dive.c index ab033858e..1a26ac5d7 100644 --- a/core/dive.c +++ b/core/dive.c @@ -3780,16 +3780,18 @@ bool picture_check_valid(const char *filename, int shift_time) void dive_create_picture(struct dive *dive, const char *filename, int shift_time, bool match_all) { - timestamp_t timestamp = picture_get_timestamp(filename); + struct metadata metadata; + get_metadata(filename, &metadata); if (!new_picture_for_dive(dive, filename)) return; - if (!match_all && !dive_check_picture_time(dive, shift_time, timestamp)) + if (!match_all && !dive_check_picture_time(dive, shift_time, metadata.timestamp)) return; struct picture *picture = alloc_picture(); picture->filename = strdup(filename); - picture->offset.seconds = timestamp - dive->when + shift_time; - picture_load_exif_data(picture); + picture->offset.seconds = metadata.timestamp - dive->when + shift_time; + picture->longitude = metadata.longitude; + picture->latitude = metadata.latitude; dive_add_picture(dive, picture); dive_set_geodata_from_picture(dive, picture); diff --git a/core/metadata.cpp b/core/metadata.cpp index bf4bfcb90..ca72cecb4 100644 --- a/core/metadata.cpp +++ b/core/metadata.cpp @@ -98,12 +98,3 @@ extern "C" timestamp_t picture_get_timestamp(const char *filename) get_metadata(filename, &data); return data.timestamp; } - -extern "C" void picture_load_exif_data(struct picture *p) -{ - struct metadata data; - if (get_metadata(p->filename, &data) == MEDIATYPE_IO_ERROR) - return; - p->longitude = data.longitude; - p->latitude = data.latitude; -} diff --git a/core/metadata.h b/core/metadata.h index b5af39b30..5cbb865f4 100644 --- a/core/metadata.h +++ b/core/metadata.h @@ -22,7 +22,6 @@ extern "C" { enum mediatype_t get_metadata(const char *filename, struct metadata *data); timestamp_t picture_get_timestamp(const char *filename); -void picture_load_exif_data(struct picture *p); #ifdef __cplusplus } |