diff options
author | Andreas Huber <andih@google.com> | 2012-05-10 16:43:19 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2012-05-11 10:12:45 -0700 |
commit | eb61431af13741aa8b7e57a39f69bba5a6c190dc (patch) | |
tree | 160d4951d23a4ee5cb7d7880df3afb923dad4eb6 /media/libstagefright/MediaCodec.cpp | |
parent | 240d8a84dec9f9482257a8037457a1d63193b7ff (diff) | |
download | frameworks_av-eb61431af13741aa8b7e57a39f69bba5a6c190dc.zip frameworks_av-eb61431af13741aa8b7e57a39f69bba5a6c190dc.tar.gz frameworks_av-eb61431af13741aa8b7e57a39f69bba5a6c190dc.tar.bz2 |
Increase AAC software decoder's buffer count. Refactor how clients
of ACodec get notified about codec buffers and buffer ids.
Change-Id: I962f873262dae7aa7b43f5f68a6d60268282f91e
related-to-bug: 6478823
Diffstat (limited to 'media/libstagefright/MediaCodec.cpp')
-rw-r--r-- | media/libstagefright/MediaCodec.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/media/libstagefright/MediaCodec.cpp b/media/libstagefright/MediaCodec.cpp index 5b513a8..ff71170 100644 --- a/media/libstagefright/MediaCodec.cpp +++ b/media/libstagefright/MediaCodec.cpp @@ -562,20 +562,20 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) { mPortBuffers[portIndex].clear(); Vector<BufferInfo> *buffers = &mPortBuffers[portIndex]; - for (size_t i = 0;; ++i) { - AString name = StringPrintf("buffer-id_%d", i); - void *bufferID; - if (!msg->findPointer(name.c_str(), &bufferID)) { - break; - } + sp<RefBase> obj; + CHECK(msg->findObject("portDesc", &obj)); + + sp<ACodec::PortDescription> portDesc = + static_cast<ACodec::PortDescription *>(obj.get()); - name = StringPrintf("data_%d", i); + size_t numBuffers = portDesc->countBuffers(); + for (size_t i = 0; i < numBuffers; ++i) { BufferInfo info; - info.mBufferID = bufferID; + info.mBufferID = portDesc->bufferIDAt(i); info.mOwnedByClient = false; - CHECK(msg->findBuffer(name.c_str(), &info.mData)); + info.mData = portDesc->bufferAt(i); if (portIndex == kPortIndexInput && mCrypto != NULL) { info.mEncryptedData = |