diff options
Diffstat (limited to 'src/com/android/gallery3d/exif/ExifReader.java')
-rw-r--r-- | src/com/android/gallery3d/exif/ExifReader.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/com/android/gallery3d/exif/ExifReader.java b/src/com/android/gallery3d/exif/ExifReader.java index 125b6c65e..c259461f2 100644 --- a/src/com/android/gallery3d/exif/ExifReader.java +++ b/src/com/android/gallery3d/exif/ExifReader.java @@ -24,11 +24,11 @@ import java.io.InputStream; */ public class ExifReader { /** - * Parse the inputStream and return all Exif data. + * Parses the inputStream and and returns the EXIF data in an {@link ExifData}. * @throws ExifInvalidFormatException * @throws IOException */ - public ExifData getExifData(InputStream inputStream) throws ExifInvalidFormatException, + public ExifData read(InputStream inputStream) throws ExifInvalidFormatException, IOException { ExifParser parser = ExifParser.parse(inputStream); ExifData exifData = new ExifData(); @@ -56,6 +56,16 @@ public class ExifReader { } exifData.getIfdData(tag.getIfd()).setTag(tag); break; + case ExifParser.EVENT_COMPRESSED_IMAGE: + byte buf[] = new byte[parser.getCompressedImageSize()]; + parser.read(buf); + exifData.setCompressedThumbnail(buf); + break; + case ExifParser.EVENT_UNCOMPRESSED_STRIP: + buf = new byte[parser.getStripSize()]; + parser.read(buf); + exifData.setStripBytes(parser.getStripIndex(), buf); + break; } event = parser.next(); } |