summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2012-05-10 16:43:19 -0700
committerAndreas Huber <andih@google.com>2012-05-11 10:12:45 -0700
commiteb61431af13741aa8b7e57a39f69bba5a6c190dc (patch)
tree160d4951d23a4ee5cb7d7880df3afb923dad4eb6 /include
parent240d8a84dec9f9482257a8037457a1d63193b7ff (diff)
downloadframeworks_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 'include')
-rw-r--r--include/media/stagefright/ACodec.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/media/stagefright/ACodec.h b/include/media/stagefright/ACodec.h
index dd18e95..23e3110 100644
--- a/include/media/stagefright/ACodec.h
+++ b/include/media/stagefright/ACodec.h
@@ -56,6 +56,23 @@ struct ACodec : public AHierarchicalStateMachine {
void initiateConfigureComponent(const sp<AMessage> &msg);
void initiateStart();
+ struct PortDescription : public RefBase {
+ size_t countBuffers();
+ IOMX::buffer_id bufferIDAt(size_t index) const;
+ sp<ABuffer> bufferAt(size_t index) const;
+
+ private:
+ friend struct ACodec;
+
+ Vector<IOMX::buffer_id> mBufferIDs;
+ Vector<sp<ABuffer> > mBuffers;
+
+ PortDescription();
+ void addBuffer(IOMX::buffer_id id, const sp<ABuffer> &buffer);
+
+ DISALLOW_EVIL_CONSTRUCTORS(PortDescription);
+ };
+
protected:
virtual ~ACodec();