1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
#! /bin/sh /usr/share/dpatch/dpatch-run
## 20nosun.dpatch by Gabriel Ebner <ge@gabrielebner.at>
##
## DP: Remove all references to the com.sun.image.codec.jpeg package.
@DPATCH@
diff -urNad libmetadata-extractor-java-2.3.1~/src/com/drew/imaging/jpeg/JpegMetadataReader.java libmetadata-extractor-java-2.3.1/src/com/drew/imaging/jpeg/JpegMetadataReader.java
--- libmetadata-extractor-java-2.3.1~/src/com/drew/imaging/jpeg/JpegMetadataReader.java 2007-11-12 20:52:12.000000000 +0000
+++ libmetadata-extractor-java-2.3.1/src/com/drew/imaging/jpeg/JpegMetadataReader.java 2007-11-12 21:01:55.000000000 +0000
@@ -25,7 +25,6 @@
import com.drew.metadata.iptc.IptcReader;
import com.drew.metadata.jpeg.JpegCommentReader;
import com.drew.metadata.jpeg.JpegReader;
-import com.sun.image.codec.jpeg.JPEGDecodeParam;
import java.io.File;
import java.io.IOException;
@@ -89,36 +88,6 @@
return metadata;
}
- public static Metadata readMetadata(JPEGDecodeParam decodeParam)
- {
- final Metadata metadata = new Metadata();
-
- /* We should only really be seeing Exif in _data[0]... the 2D array exists
- * because markers can theoretically appear multiple times in the file.
- */
- // TODO test this method
- byte[][] exifSegment = decodeParam.getMarkerData(JPEGDecodeParam.APP1_MARKER);
- if (exifSegment != null && exifSegment[0].length>0) {
- new ExifReader(exifSegment[0]).extract(metadata);
- }
-
- // similarly, use only the first IPTC segment
- byte[][] iptcSegment = decodeParam.getMarkerData(JPEGDecodeParam.APPD_MARKER);
- if (iptcSegment != null && iptcSegment[0].length>0) {
- new IptcReader(iptcSegment[0]).extract(metadata);
- }
-
- // NOTE: Unable to utilise JpegReader for the SOF0 frame here, as the decodeParam doesn't contain the byte[]
-
- // similarly, use only the first Jpeg Comment segment
- byte[][] jpegCommentSegment = decodeParam.getMarkerData(JPEGDecodeParam.COMMENT_MARKER);
- if (jpegCommentSegment != null && jpegCommentSegment[0].length>0) {
- new JpegCommentReader(jpegCommentSegment[0]).extract(metadata);
- }
-
- return metadata;
- }
-
private JpegMetadataReader()
{
}
diff -urNad libmetadata-extractor-java-2.3.1~/src/com/drew/metadata/SampleUsage.java libmetadata-extractor-java-2.3.1/src/com/drew/metadata/SampleUsage.java
--- libmetadata-extractor-java-2.3.1~/src/com/drew/metadata/SampleUsage.java 2007-11-12 20:52:12.000000000 +0000
+++ libmetadata-extractor-java-2.3.1/src/com/drew/metadata/SampleUsage.java 2007-11-12 21:01:55.000000000 +0000
@@ -21,9 +21,6 @@
import com.drew.imaging.jpeg.JpegSegmentReader;
import com.drew.metadata.exif.ExifReader;
import com.drew.metadata.iptc.IptcReader;
-import com.sun.image.codec.jpeg.JPEGCodec;
-import com.sun.image.codec.jpeg.JPEGDecodeParam;
-import com.sun.image.codec.jpeg.JPEGImageDecoder;
import java.awt.image.BufferedImage;
import java.io.File;
@@ -87,23 +84,6 @@
} catch (JpegProcessingException jpe) {
System.err.println("error 3a");
}
-
- // Approach 4
- // This approach is the slowest, because it decodes the Jpeg image. Of
- // course you now have a decoded image to play with. In some instances
- // this will be most appropriate.
- try {
- JPEGImageDecoder jpegDecoder = JPEGCodec.createJPEGDecoder(new FileInputStream(jpegFile));
- BufferedImage image = jpegDecoder.decodeAsBufferedImage();
- // now you can use the image
- JPEGDecodeParam decodeParam = jpegDecoder.getJPEGDecodeParam();
- Metadata metadata = JpegMetadataReader.readMetadata(decodeParam);
- printImageTags(4, metadata);
- } catch (FileNotFoundException e) {
- System.err.println("error 4a");
- } catch (IOException e) {
- System.err.println("error 4b");
- }
}
private void printImageTags(int approachCount, Metadata metadata)
|