Commit Graph

15 Commits (dustin/master)

Author SHA1 Message Date
Dustin Oprea 8596a87abf Allow compatibility with Go 1.11
- To be generally more flexibility.
2020-07-17 01:18:50 -04:00
Dustin Oprea 4675ba7529 ifd_enumerate.go: Add NextIfd() accessor
- Supports go-exif-knife.
2020-07-17 00:54:38 -04:00
Dustin Oprea f93c06e0d6 v3: Fix import naming glitch 2020-07-16 21:33:45 -04:00
Dustin Oprea 208788de28 go.mod: Drop go-utility replacement and update sums 2020-07-11 14:06:20 -04:00
Dustin Oprea d19e38a723 backwards incompatible: ifd_enumerate.go: Drop fqIfdPath and ifdIndex from visitor function signature 2020-07-11 13:15:18 -04:00
Dustin Oprea f2c3d1c0ec backwards incompatible: ifd_enumerate.go: Stop exporting Ifd fields
Finally.
2020-07-11 13:15:18 -04:00
Dustin Oprea dcd29a9733 backwards incompatible: Move exif-read-tool to command/
Per standard practice.
2020-07-11 13:15:18 -04:00
Dustin Oprea 7ca1c7b13e backwards incompatible: GetFlatExifData(), Scan(), and Visit() all take a ScanOptions struct now 2020-07-11 13:15:18 -04:00
Dustin Oprea 3f7ee4ce89 backwards incompatible: Move time utilities to exifcommon 2020-07-11 13:15:18 -04:00
Dustin Oprea 83b844408c backwards incompatible: Stop exporting ParseOneIfd and ParseOneTag 2020-07-11 13:15:18 -04:00
Dustin Oprea ee26db1fc4 backwards incompatible: Drop redundant variables 2020-07-11 13:15:18 -04:00
Dustin Oprea 7d4721b065 backwards incompatible: Removed bridging functions
NewIfdMappingWithStandard and related (in ifd.go). We now use the same
functions in common/.

- NewIfdMappingWithStandard now returns an error, too.

This took care of several backwards-incompatible tasks that have been
waiting on v3 to be forked.
2020-07-11 13:15:12 -04:00
Dustin Oprea 17a2176005 v2/v3: Bump go-logging version to latest 2020-07-11 12:12:48 -04:00
Dustin Oprea 312218d7b1 Use encapsulated data/reader rather than bytes
Given a stream of data, it is possible to determine the beginning of
EXIF data but not the end. Therefore, either an image-aware
implementation must know how to parse an image and extract the EXIF
data or a brute-force search implementation (one of which is provided
by this project) must find the start anchor and then return all bytes
from that to the end of the file.

We have been made aware of some use-cases where a brute-force search
might be unavoidable due to trust or stability issues with the image
structure. This leads to large allocations. This can be avoided by
accomodating support that will allow for both a byte-slice or an
`io.ReadSeeker`. Since the EXIF structure is typically not read-
intensive (a couple of kilobytes if no thumbnail is present), this
should have a minimal performance impact.

Closes #42
2020-07-11 12:12:48 -04:00
Dustin Oprea 56058635d0 Seed v3 release. Copy from v2 release. 2020-07-11 12:12:48 -04:00