Details
-
Task
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
-
None
Description
I'm trying to load the metadata from image files generated by a JAI-PULNIX camera, model TS-1327EN.
I am specifically interested in getting the following tag values:
ExifTagConstants.EXIF_TAG_IMAGE_DESCRIPTION,
ExifTagConstants.EXIF_TAG_DATE_TIME_ORIGINAL and
ExifTagConstants.EXIF_TAG_SUB_SEC_TIME_ORIGINAL.
But, when the following line of code is executed:
IImageMetadata metadata = Sanselan.getMetadata(file);
I get one of two errors:
java.io.IOException: Invalid Segment: insufficient data at org.apache.sanselan.common.BinaryFileFunctions.readByteArray(BinaryFileFunctions.java:497) at org.apache.sanselan.formats.jpeg.JpegUtils.traverseJFIF(JpegUtils.java:88) at org.apache.sanselan.formats.jpeg.JpegImageParser.readSegments(JpegImageParser.java:175) at org.apache.sanselan.formats.jpeg.JpegImageParser.readSegments(JpegImageParser.java:273) at org.apache.sanselan.formats.jpeg.JpegImageParser.getExifRawData(JpegImageParser.java:383) at org.apache.sanselan.formats.jpeg.JpegImageParser.getExifMetadata(JpegImageParser.java:363) at org.apache.sanselan.formats.jpeg.JpegImageParser.getMetadata(JpegImageParser.java:314) at org.apache.sanselan.Sanselan.getMetadata(Sanselan.java:871) at org.apache.sanselan.Sanselan.getMetadata(Sanselan.java:864) at org.apache.sanselan.Sanselan.getMetadata(Sanselan.java:839) at MetadataExample.metadataExample(MetadataExample.java:21)
or
java.io.IOException: Could not read block (block start: 1020, block length: 1447680, data length: 900). at org.apache.sanselan.common.byteSources.ByteSourceArray.getBlock(ByteSourceArray.java:47) at org.apache.sanselan.formats.tiff.TiffReader.getTiffRawImageData(TiffReader.java:409) at org.apache.sanselan.formats.tiff.TiffReader.readDirectory(TiffReader.java:197) at org.apache.sanselan.formats.tiff.TiffReader.readDirectory(TiffReader.java:100) at org.apache.sanselan.formats.tiff.TiffReader.readDirectories(TiffReader.java:92) at org.apache.sanselan.formats.tiff.TiffReader.read(TiffReader.java:399) at org.apache.sanselan.formats.tiff.TiffReader.readContents(TiffReader.java:390) at org.apache.sanselan.formats.tiff.TiffImageParser.getMetadata(TiffImageParser.java:125) at org.apache.sanselan.ImageParser.getMetadata(ImageParser.java:76) at org.apache.sanselan.formats.jpeg.JpegImageParser.getExifMetadata(JpegImageParser.java:376) at org.apache.sanselan.formats.jpeg.JpegImageParser.getMetadata(JpegImageParser.java:314) at org.apache.sanselan.Sanselan.getMetadata(Sanselan.java:871) at org.apache.sanselan.Sanselan.getMetadata(Sanselan.java:864) at org.apache.sanselan.Sanselan.getMetadata(Sanselan.java:839) at MetadataExample.metadataExample(MetadataExample.java:21)
Is there something wrong with the encoding of these images?
If that is the case I could contact JAI-PULNIX and ask them to fix it, but I'm not sure what the problem is.