Package: gpscorrelate
Version: 1.6.1-4
Severity: normal
Tags: patch

Dear Maintainer,

After tagging some images with gpscorrelate, I figured out that the exif 
program complains with:

| Corrupt data
| The data provided does not follow the specification.
| ExifEntry: The tag 'GPSTimeStamp' contains data of an invalid format 
('SRational', expected 'Rational').

According to the EXIF standard, found at
  http://www.cipa.jp/std/documents/e/DC-008-2012_E.pdf
(page 68) the GPSTimeStamp tag is really supposed to be made of 3
RATIONAL values.

The attached patch fixes the problem.


Cheers,

-- 
Nicolas Boullis


-- System Information:
Debian Release: 7.8
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16.0-0.bpo.4-amd64 (SMP w/8 CPU cores)
Locale: LANG=C, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages gpscorrelate depends on:
ii  libc6        2.13-38+deb7u8
ii  libexiv2-12  0.23-1
ii  libgcc1      1:4.7.2-5
ii  libstdc++6   4.7.2-5
ii  libxml2      2.8.0+dfsg1-7+wheezy3

gpscorrelate recommends no packages.

gpscorrelate suggests no packages.

-- no debconf information
Index: gpscorrelate-1.6.1/exif-gps.cpp
===================================================================
--- gpscorrelate-1.6.1.orig/exif-gps.cpp	2009-04-05 03:08:45.000000000 +0200
+++ gpscorrelate-1.6.1/exif-gps.cpp	2015-02-28 00:27:02.355955052 +0100
@@ -620,7 +620,7 @@
 		memcpy(&TimeStamp, tmp2, sizeof(struct tm));
 	}
 
-	Value = Exiv2::Value::create(Exiv2::signedRational);
+	Value = Exiv2::Value::create(Exiv2::unsignedRational);
 	snprintf(ScratchBuf, 100, "%d/1 %d/1 %d/1",
 			TimeStamp.tm_hour, TimeStamp.tm_min,
 			TimeStamp.tm_sec);

Attachment: signature.asc
Description: Digital signature

Reply via email to