X-Git-Url: https://gitweb.fperrin.net/?p=GpsPrune.git;a=blobdiff_plain;f=tim%2Fprune%2Fjpeg%2FExternalExifLibrary.java;h=1c64b4e247fcd83ba4632050667a61fe09c1c5c3;hp=b9cd1fdadf33bb739868d98c716c8d8b4d44fc16;hb=140e9d165f85c3d4f0435a311e091209313faa2a;hpb=c0387c124840c9407e040600fda88f3c3e8f6aa6 diff --git a/tim/prune/jpeg/ExternalExifLibrary.java b/tim/prune/jpeg/ExternalExifLibrary.java index b9cd1fd..1c64b4e 100644 --- a/tim/prune/jpeg/ExternalExifLibrary.java +++ b/tim/prune/jpeg/ExternalExifLibrary.java @@ -66,7 +66,9 @@ public class ExternalExifLibrary implements ExifLibrary data.setGpsTimestamp(new int[] {times[0].intValue(), times[1].intValue(), times[2].intValue()}); Rational[] dates = gpsdir.getRationalArray(TAG_GPS_DATESTAMP); - data.setGpsDatestamp(new int[] {dates[0].intValue(), dates[1].intValue(), dates[2].intValue()}); + if (dates != null) { + data.setGpsDatestamp(new int[] {dates[0].intValue(), dates[1].intValue(), dates[2].intValue()}); + } } } @@ -75,10 +77,14 @@ public class ExternalExifLibrary implements ExifLibrary { Directory exifdir = metadata.getDirectory(ExifDirectory.class); - // Take time and date from exif tags if haven't got it already from GPS - if (data.getGpsDatestamp() == null && exifdir.containsTag(ExifDirectory.TAG_DATETIME_ORIGINAL)) { + // Take time and date from exif tags + if (exifdir.containsTag(ExifDirectory.TAG_DATETIME_ORIGINAL)) { data.setOriginalTimestamp(exifdir.getString(ExifDirectory.TAG_DATETIME_ORIGINAL)); } + // Also take "digitized" timestamp + if (exifdir.containsTag(ExifDirectory.TAG_DATETIME_DIGITIZED)) { + data.setDigitizedTimestamp(exifdir.getString(ExifDirectory.TAG_DATETIME_DIGITIZED)); + } // Photo rotation code if (exifdir.containsTag(ExifDirectory.TAG_ORIENTATION)) {