You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Damjan Jovanovic (JIRA)" <ji...@apache.org> on 2011/07/16 11:11:59 UTC

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

    [ 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