For QuickTime/MP4 files whose moov atom sits at the end of the
file (non-faststart — common for Snapchat exports and any MP4
muxed without -movflags +faststart), -fast2 causes exiftool
to skip the trailer and return no CreateDate / MediaCreateDate, dropping the resolver to the fs_time
fallback for files that actually have a real capture date.
Reported cases:
Snapchat-477624257.mp4
fs_time: 2026-05-04 (today, file was just modified)
real: QuickTime CreateDate 2018-09-02
action_compound_cc92e65b709d1deb895b4c2a9484fc6a.mp4
fs_time: 2026-05-04
real: MediaCreateDate 2018-03-01
The waterfall pre-filters to files kamadak-exif couldn't read, so
the JPEG fast-path is already covered without -fast2. Paying
full-scan cost on the residual is the right trade. The per-tick
drain re-resolves source = 'fs_time' rows, so existing rows
recover automatically on the next watcher tick after deploy — no
SQL migration needed.
For QuickTime/MP4 files whose `moov` atom sits at the end of the
file (non-faststart — common for Snapchat exports and any MP4
muxed without `-movflags +faststart`), `-fast2` causes exiftool
to skip the trailer and return no `CreateDate` /
`MediaCreateDate`, dropping the resolver to the `fs_time`
fallback for files that actually have a real capture date.
Reported cases:
Snapchat-477624257.mp4
fs_time: 2026-05-04 (today, file was just modified)
real: QuickTime CreateDate 2018-09-02
action_compound_cc92e65b709d1deb895b4c2a9484fc6a.mp4
fs_time: 2026-05-04
real: MediaCreateDate 2018-03-01
The waterfall pre-filters to files kamadak-exif couldn't read, so
the JPEG fast-path is already covered without `-fast2`. Paying
full-scan cost on the residual is the right trade. The per-tick
drain re-resolves `source = 'fs_time'` rows, so existing rows
recover automatically on the next watcher tick after deploy — no
SQL migration needed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
For QuickTime/MP4 files whose `moov` atom sits at the end of the
file (non-faststart — common for Snapchat exports and any MP4
muxed without `-movflags +faststart`), `-fast2` causes exiftool
to skip the trailer and return no `CreateDate` /
`MediaCreateDate`, dropping the resolver to the `fs_time`
fallback for files that actually have a real capture date.
Reported cases:
Snapchat-477624257.mp4
fs_time: 2026-05-04 (today, file was just modified)
real: QuickTime CreateDate 2018-09-02
action_compound_cc92e65b709d1deb895b4c2a9484fc6a.mp4
fs_time: 2026-05-04
real: MediaCreateDate 2018-03-01
The waterfall pre-filters to files kamadak-exif couldn't read, so
the JPEG fast-path is already covered without `-fast2`. Paying
full-scan cost on the residual is the right trade. The per-tick
drain re-resolves `source = 'fs_time'` rows, so existing rows
recover automatically on the next watcher tick after deploy — no
SQL migration needed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
cameron
merged commit 22e157411c into master2026-05-07 16:42:09 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
For QuickTime/MP4 files whose
moovatom sits at the end of thefile (non-faststart — common for Snapchat exports and any MP4
muxed without
-movflags +faststart),-fast2causes exiftoolto skip the trailer and return no
CreateDate/MediaCreateDate, dropping the resolver to thefs_timefallback for files that actually have a real capture date.
Reported cases:
Snapchat-477624257.mp4
fs_time: 2026-05-04 (today, file was just modified)
real: QuickTime CreateDate 2018-09-02
action_compound_cc92e65b709d1deb895b4c2a9484fc6a.mp4
fs_time: 2026-05-04
real: MediaCreateDate 2018-03-01
The waterfall pre-filters to files kamadak-exif couldn't read, so
the JPEG fast-path is already covered without
-fast2. Payingfull-scan cost on the residual is the right trade. The per-tick
drain re-resolves
source = 'fs_time'rows, so existing rowsrecover automatically on the next watcher tick after deploy — no
SQL migration needed.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com
For QuickTime/MP4 files whose `moov` atom sits at the end of the file (non-faststart — common for Snapchat exports and any MP4 muxed without `-movflags +faststart`), `-fast2` causes exiftool to skip the trailer and return no `CreateDate` / `MediaCreateDate`, dropping the resolver to the `fs_time` fallback for files that actually have a real capture date. Reported cases: Snapchat-477624257.mp4 fs_time: 2026-05-04 (today, file was just modified) real: QuickTime CreateDate 2018-09-02 action_compound_cc92e65b709d1deb895b4c2a9484fc6a.mp4 fs_time: 2026-05-04 real: MediaCreateDate 2018-03-01 The waterfall pre-filters to files kamadak-exif couldn't read, so the JPEG fast-path is already covered without `-fast2`. Paying full-scan cost on the residual is the right trade. The per-tick drain re-resolves `source = 'fs_time'` rows, so existing rows recover automatically on the next watcher tick after deploy — no SQL migration needed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>