summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2014-11-19 13:22:23 -0800
committerMarco Nelissen <marcone@google.com>2014-11-19 14:08:55 -0800
commit6c41e622512a99581afcbdbd6ad284237923c942 (patch)
tree67cbb3ad6065eede75b52fdd241db1f36f214072 /media
parent35b0f7095fac4f2cc112edd4b0298a9cb1ee394f (diff)
downloadframeworks_av-6c41e622512a99581afcbdbd6ad284237923c942.zip
frameworks_av-6c41e622512a99581afcbdbd6ad284237923c942.tar.gz
frameworks_av-6c41e622512a99581afcbdbd6ad284237923c942.tar.bz2
When aggregating buffers, make sure we don't lose data
Bug: 18277034 Change-Id: Ia8c35791eea88545a873cad339eb6b5fc25d1d97
Diffstat (limited to 'media')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayer.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
index 4f88f02..59ac80a 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
@@ -1321,6 +1321,12 @@ status_t NuPlayer::feedDecoderInputData(bool audio, const sp<AMessage> &msg) {
// This stream is unaffected by the discontinuity
return -EWOULDBLOCK;
}
+ } else if (err == ERROR_END_OF_STREAM
+ && doBufferAggregation && (mAggregateBuffer != NULL)) {
+ // send out the last bit of aggregated data
+ reply->setBuffer("buffer", mAggregateBuffer);
+ mAggregateBuffer.clear();
+ err = OK;
}
reply->setInt32("err", err);