summaryrefslogtreecommitdiffstats
path: root/media/img_utils/src/FileInput.cpp
diff options
context:
space:
mode:
authorRuben Brunk <rubenbrunk@google.com>2014-05-28 18:42:37 -0700
committerRuben Brunk <rubenbrunk@google.com>2014-07-10 15:37:26 -0700
commit4510de26e5361f3a9f07057ec6f26483c888c1fa (patch)
tree5a474839318779c1e6eff96a4f98e3e1f74ef85a /media/img_utils/src/FileInput.cpp
parent5c68f959eaa2e02fed5643c78e281fff42bcc0a2 (diff)
downloadframeworks_av-4510de26e5361f3a9f07057ec6f26483c888c1fa.zip
frameworks_av-4510de26e5361f3a9f07057ec6f26483c888c1fa.tar.gz
frameworks_av-4510de26e5361f3a9f07057ec6f26483c888c1fa.tar.bz2
DNG: Update TiffWriter to handle thumbnails and SubIfds.
- Fix SubIfd handling. - Add StripSources, convenience functions for writing image strips. - Update Input classes to use with JNI. - Add skip method. - Add tag definitions for GPS tags. - Add name string to tag definitions. Bug: 15112503 Change-Id: I9535b21261027f6c06a041c1621de8f865a0ad32
Diffstat (limited to 'media/img_utils/src/FileInput.cpp')
-rw-r--r--media/img_utils/src/FileInput.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/media/img_utils/src/FileInput.cpp b/media/img_utils/src/FileInput.cpp
index e43fd53..498e715 100644
--- a/media/img_utils/src/FileInput.cpp
+++ b/media/img_utils/src/FileInput.cpp
@@ -45,19 +45,24 @@ status_t FileInput::open() {
return OK;
}
-size_t FileInput::read(uint8_t* buf, size_t offset, size_t count, status_t* err) {
+ssize_t FileInput::read(uint8_t* buf, size_t offset, size_t count) {
if (!mOpen) {
ALOGE("%s: Could not read file %s, file not open.", __FUNCTION__, mPath.string());
- if (err != NULL) *err = BAD_VALUE;
- return 0;
+ return BAD_VALUE;
}
size_t bytesRead = ::fread(buf + offset, sizeof(uint8_t), count, mFp);
int error = ::ferror(mFp);
if (error != 0) {
ALOGE("%s: Error %d occurred while reading file %s.", __FUNCTION__, error, mPath.string());
- if (err != NULL) *err = BAD_VALUE;
+ return BAD_VALUE;
}
+
+ // End of file reached
+ if (::feof(mFp) != 0 && bytesRead == 0) {
+ return NOT_ENOUGH_DATA;
+ }
+
return bytesRead;
}