Comments (4)
From what I understand the problem space of EXIF data is pretty complex and there's probably a reason that people don't really go and reinvent that wheel. It's a problem of a bunch of manufacturers releasing stuff with differing standards on how they exactly represent that data from what I understand, which is why we don't really have a working native go lib. From what I understand that one you linked has enough crashing issues that it's a problem in production, so that's why we went with this
from goexiv.
I had to downgrade to libexiv 0.27
from goexiv.
I think this would be a good place for us to look for starters:
https://github.com/Exiv2/exiv2/blob/v0.28.0/doc/ChangeLog
I'm not a big c++ programmer so I'm just plodding through the stacktrace but it looks like some stuff like some data structures got changed:
helper.cpp:22:41: error: ‘AutoPtr’ in ‘class Exiv2::Image’ does not name a type
helper.cpp:354:39: error: ‘const Exiv2Image’ {aka ‘const struct _Exiv2Image’} has no member named ‘image’
from goexiv.
Hey, thanks for reporting this.
I expected the C library to break compatibility sooner or later. As of now, I think the rational solution is just to stick with 0.27, unless you really need some newer features.
We don't have the need or resources to update right now. And ultimately I'd rather work with a pure go library instead of integrating with exiv2.
This might be a good place to start: https://github.com/dsoprea/go-exif
There are 2 problems with that library though:
- last time I checked it only provided methods for reading exif data, not writing
- it seems to have issues with reading data in exiv2 format, e.g. written by this library
Might be worth trying to open an issue there and see what does the author think.
from goexiv.
Related Issues (3)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from goexiv.