summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorWei Jia <wjia@google.com>2015-04-28 18:22:36 -0700
committerWei Jia <wjia@google.com>2015-04-30 09:53:14 -0700
commitbac588208fadec78e3fa205c238089df277d3817 (patch)
tree3feebbd56bf126f282d96583f2a60f17fdfabdfe /include
parentc0239eca6d022b498d21cc467f83f715f7e7ed89 (diff)
downloadframeworks_av-bac588208fadec78e3fa205c238089df277d3817.zip
frameworks_av-bac588208fadec78e3fa205c238089df277d3817.tar.gz
frameworks_av-bac588208fadec78e3fa205c238089df277d3817.tar.bz2
MediaSync: map returned output buffers to previously received input buffers.
Bug: 19666434 Change-Id: I81e9cb8e73d950b3be5d29cf010c6793894ad802
Diffstat (limited to 'include')
-rw-r--r--include/media/stagefright/MediaSync.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/media/stagefright/MediaSync.h b/include/media/stagefright/MediaSync.h
index 8ad74a4..e071b65 100644
--- a/include/media/stagefright/MediaSync.h
+++ b/include/media/stagefright/MediaSync.h
@@ -23,6 +23,7 @@
#include <media/stagefright/foundation/AHandler.h>
#include <utils/Condition.h>
+#include <utils/KeyedVector.h>
#include <utils/Mutex.h>
namespace android {
@@ -190,6 +191,13 @@ private:
int64_t mNextBufferItemMediaUs;
List<BufferItem> mBufferItems;
+
+ // Keep track of buffers received from |mInput|. This is needed because
+ // it's possible the consumer of |mOutput| could return a different
+ // GraphicBuffer::handle (e.g., due to passing buffers through IPC),
+ // and that could cause problem if the producer of |mInput| only
+ // supports pre-registered buffers.
+ KeyedVector<uint64_t, sp<GraphicBuffer> > mBuffersFromInput;
sp<ALooper> mLooper;
float mPlaybackRate;