[jira] [Commented] (SANSELAN-13) Problem loading JPEG metada

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (SANSELAN-13) Problem loading JPEG metada

Sebb (Jira)

    [ https://issues.apache.org/jira/browse/SANSELAN-13?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13066388#comment-13066388 ]

Damjan Jovanovic commented on SANSELAN-13:
------------------------------------------

For one, the JPEG comment segment is too long, causing either parsing to fail, or the next segment to be skipped (depending on how resilient the parser is). I've just committed a patch to SVN that should allow getBufferedImage() to work for both files and getImageInfo() to work for 10200023936.jpg, but getMetadata() still fails for both files because of other, TIFF-related problems.


> Problem loading JPEG metada
> ---------------------------
>
>                 Key: SANSELAN-13
>                 URL: https://issues.apache.org/jira/browse/SANSELAN-13
>             Project: Commons Sanselan
>          Issue Type: Question
>            Reporter: Bruno Abreu
>            Priority: Minor
>         Attachments: 10200023566.jpg, 10200023936.jpg
>
>
> 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.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira