You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Gary Gregory (JIRA)" <ji...@apache.org> on 2014/08/22 14:50:11 UTC
[jira] [Commented] (IMAGING-140) ExifReWriter always writes EXIF
segment before JFIF segment
[ https://issues.apache.org/jira/browse/IMAGING-140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14106798#comment-14106798 ]
Gary Gregory commented on IMAGING-140:
--------------------------------------
Thank you for your input.
The best way to submit code changes is with a patch file in the unified diff format. A unit test is always good as well ;-)
> ExifReWriter always writes EXIF segment before JFIF segment
> -----------------------------------------------------------
>
> Key: IMAGING-140
> URL: https://issues.apache.org/jira/browse/IMAGING-140
> Project: Commons Imaging
> Issue Type: Bug
> Components: Format: JPEG
> Affects Versions: 1.x, 0.97, 0.94-incubator
> Environment: All
> Reporter: Gavin Shiels
> Labels: EXIF
>
> ExifRewriter.writeSegmentsReplacingExif () always writes the EXIF segment as the first segment written to the output stream even when there is JFIF segment present.
> The code checks for the existence of the JFIF segment and it looks like the intention was then to insert the EXIF segment at index 1 but it is instead always inserted at index 0, the variable 'index' is not used after being set to 1.
> 'index' should be passed as the first parameter to the segments.add() call.
> {code:title=org.apache.sanselan.formats.jpeg.exifRewrite.ExifRewriter.java|borderStyle=solid}
> int index = 0;
> JFIFPieceSegment firstSegment = (JFIFPieceSegment) segments.get(index);
> if (firstSegment.marker == JFIFMarker)
> index = 1;
>
> segments.add(0, new JFIFPieceSegmentExif(JPEG_APP1_Marker,
> markerBytes, markerLengthBytes, newBytes));
> {code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)