From 40a3f52cc7d4f657f963d9c2b47007fdfd3fc9dd Mon Sep 17 00:00:00 2001 From: Robert Shih Date: Tue, 15 Dec 2015 15:22:04 -0800 Subject: [PATCH] CallbackDataSource: return bytes read instead of eos on short read Bug: 25800374 Change-Id: I17af28f85d68dc964179dda8ddf8874c02f202a5 --- media/libstagefright/CallbackDataSource.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/media/libstagefright/CallbackDataSource.cpp b/media/libstagefright/CallbackDataSource.cpp index e17fdf8eb0..4c0a578e0c 100644 --- a/media/libstagefright/CallbackDataSource.cpp +++ b/media/libstagefright/CallbackDataSource.cpp @@ -64,7 +64,7 @@ ssize_t CallbackDataSource::readAt(off64_t offset, void* data, size_t size) { mIDataSource->readAt(offset + totalNumRead, numToRead); // A negative return value represents an error. Pass it on. if (numRead < 0) { - return numRead; + return numRead == ERROR_END_OF_STREAM && totalNumRead > 0 ? totalNumRead : numRead; } // A zero return value signals EOS. Return the bytes read so far. if (numRead == 0) { -- 2.11.0