Small update to my Exif library (now v1.0.1a)

I’ve just put up another revision of my Exif parsing/writing code. There’s only a few changes from last time —

  • TCustomExifData now accepts Exif segments that declare themselves to be big endian when they are really small endian or vice versa.
  • elTrilinear renamed esTrilinear.
  • In the Exif List demo, replaced most of the string array constants with functions so as to prevent access violations when a tag value is out of its corresponding enumerated type’s range.
  • Completely removed the MakerNotePosition property from TExifData. Behaviour is now fixed to the old default (mpAuto), which is to stream out maker note data to their original location.

Update 21/2/10: fixed typo in CCR.Exif.pas that caused a one byte memory overwrite error. Rest of the units are unchanged since the original 1.0.1 release.

3 thoughts on “Small update to my Exif library (now v1.0.1a)

  1. Hi Chris,

    again I’ve got a pic, which causes problems:

    saved by XnView.

    This pic causes a “XMP not valid” failor, for example in your little Testprogram, written for me because of “jaPreserveMetadata” in line
    “Jpeg.ExifData.Comments := …”

    Thank You

    • Bertram – if you want an immediate fix (of a kind), go to the implementation of TCustomExifData.GetXMPPacket in CCR.Exif.pas, and replace the call to FXMPPacketValue.LoadFromStream with one to FXMPPacketValue.TryLoadFromStream. The actual, underlying problem is that the JPEG contains an XMP packet with embedded nulls, something that MSXML (= the XML parser I’m ultimately using, via the Delphi RTL’s thin wrapper) doesn’t like.

Comments are closed.