From b92724472ebe171c66d950186328526009797f9a Mon Sep 17 00:00:00 2001 From: Romain Date: Sun, 13 Aug 2017 21:28:00 +1000 Subject: [PATCH] Fix #71: read both Quicktime CreationDate and CreateDate --- src/model/metadata.js | 3 ++- test/model/metadata.spec.js | 9 ++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/model/metadata.js b/src/model/metadata.js index 5a47bc8..432f8ab 100644 --- a/src/model/metadata.js +++ b/src/model/metadata.js @@ -42,7 +42,8 @@ class Metadata { function getDate (exif) { const date = tagValue(exif, 'EXIF', 'DateTimeOriginal') || tagValue(exif, 'H264', 'DateTimeOriginal') || - tagValue(exif, 'QuickTime', 'CreationDate') + tagValue(exif, 'QuickTime', 'CreationDate') || + tagValue(exif, 'QuickTime', 'CreateDate') if (date) { return moment(date, EXIF_DATE_FORMAT).valueOf() } else { diff --git a/test/model/metadata.spec.js b/test/model/metadata.spec.js index 451d8e2..8447909 100644 --- a/test/model/metadata.spec.js +++ b/test/model/metadata.spec.js @@ -18,13 +18,20 @@ describe('Metadata', function () { should(meta.date).eql(fixtures.date('2016-10-28 17:34:58').getTime()) }) - it('reads the QuickTime date if present', function () { + it('reads the QuickTime CreationDate if present', function () { const exiftool = fixtures.exiftool() exiftool.QuickTime.CreationDate = '2016:10:28 17:34:58' // EXIF date format const meta = new Metadata(exiftool) should(meta.date).eql(fixtures.date('2016-10-28 17:34:58').getTime()) }) + it('reads the QuickTime CreateDate if present', function () { + const exiftool = fixtures.exiftool() + exiftool.QuickTime.CreateDate = '2016:10:28 17:34:58' // EXIF date format + const meta = new Metadata(exiftool) + should(meta.date).eql(fixtures.date('2016-10-28 17:34:58').getTime()) + }) + it('infers the date from the filename (Android format)', function () { const exiftool = fixtures.exiftool() exiftool.SourceFile = 'folder/VID_20170220_114006.mp4'