diff options
author | Lajos Molnar <lajos@google.com> | 2014-07-07 14:55:18 -0700 |
---|---|---|
committer | Lajos Molnar <lajos@google.com> | 2014-07-07 16:40:21 -0700 |
commit | 92cd05b8f2e994aabcdda5d7454c96a707dc9579 (patch) | |
tree | 3b2d9feb3aed72886d58681f9ddfa11ab67d2259 /media | |
parent | 05ca3bfb847ff3c1980f2f0922a4d494c0e7ebab (diff) | |
download | frameworks_av-92cd05b8f2e994aabcdda5d7454c96a707dc9579.zip frameworks_av-92cd05b8f2e994aabcdda5d7454c96a707dc9579.tar.gz frameworks_av-92cd05b8f2e994aabcdda5d7454c96a707dc9579.tar.bz2 |
stagefright: update MediaCodec to use CodecBase instead of ACodec
MediaCodec still creates an ACodec instance in init()
Bug: 11784825
Change-Id: Ifba1e1582c788056c0e59afdf68cd3a504ab3679
Diffstat (limited to 'media')
-rw-r--r-- | media/libstagefright/MediaCodec.cpp | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/media/libstagefright/MediaCodec.cpp b/media/libstagefright/MediaCodec.cpp index 14c8028..6e3d6f8 100644 --- a/media/libstagefright/MediaCodec.cpp +++ b/media/libstagefright/MediaCodec.cpp @@ -67,7 +67,7 @@ sp<MediaCodec> MediaCodec::CreateByComponentName( MediaCodec::MediaCodec(const sp<ALooper> &looper) : mState(UNINITIALIZED), mLooper(looper), - mCodec(new ACodec), + mCodec(NULL), mReplyID(0), mFlags(0), mSoftRenderer(NULL), @@ -103,6 +103,7 @@ status_t MediaCodec::init(const char *name, bool nameIsType, bool encoder) { // quickly, violating the OpenMAX specs, until that is remedied // we need to invest in an extra looper to free the main event // queue. + mCodec = new ACodec; bool needDedicatedLooper = false; if (nameIsType && !strncasecmp(name, "video/", 6)) { needDedicatedLooper = true; @@ -541,7 +542,7 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) { CHECK(msg->findInt32("what", &what)); switch (what) { - case ACodec::kWhatError: + case CodecBase::kWhatError: { int32_t omxError, internalError; CHECK(msg->findInt32("omx-error", &omxError)); @@ -638,7 +639,7 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) { break; } - case ACodec::kWhatComponentAllocated: + case CodecBase::kWhatComponentAllocated: { CHECK_EQ(mState, INITIALIZING); setState(INITIALIZED); @@ -661,7 +662,7 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) { break; } - case ACodec::kWhatComponentConfigured: + case CodecBase::kWhatComponentConfigured: { CHECK_EQ(mState, CONFIGURING); setState(CONFIGURED); @@ -676,9 +677,9 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) { break; } - case ACodec::kWhatInputSurfaceCreated: + case CodecBase::kWhatInputSurfaceCreated: { - // response to ACodec::kWhatCreateInputSurface + // response to initiateCreateInputSurface() status_t err = NO_ERROR; sp<AMessage> response = new AMessage(); if (!msg->findInt32("err", &err)) { @@ -694,9 +695,9 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) { break; } - case ACodec::kWhatSignaledInputEOS: + case CodecBase::kWhatSignaledInputEOS: { - // response to ACodec::kWhatSignalEndOfInputStream + // response to signalEndOfInputStream() sp<AMessage> response = new AMessage(); status_t err; if (msg->findInt32("err", &err)) { @@ -707,7 +708,7 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) { } - case ACodec::kWhatBuffersAllocated: + case CodecBase::kWhatBuffersAllocated: { int32_t portIndex; CHECK(msg->findInt32("portIndex", &portIndex)); @@ -725,8 +726,8 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) { sp<RefBase> obj; CHECK(msg->findObject("portDesc", &obj)); - sp<ACodec::PortDescription> portDesc = - static_cast<ACodec::PortDescription *>(obj.get()); + sp<CodecBase::PortDescription> portDesc = + static_cast<CodecBase::PortDescription *>(obj.get()); size_t numBuffers = portDesc->countBuffers(); @@ -759,7 +760,7 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) { break; } - case ACodec::kWhatOutputFormatChanged: + case CodecBase::kWhatOutputFormatChanged: { ALOGV("codec output format changed"); @@ -810,7 +811,7 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) { break; } - case ACodec::kWhatFillThisBuffer: + case CodecBase::kWhatFillThisBuffer: { /* size_t index = */updateBuffers(kPortIndexInput, msg); @@ -857,7 +858,7 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) { break; } - case ACodec::kWhatDrainThisBuffer: + case CodecBase::kWhatDrainThisBuffer: { /* size_t index = */updateBuffers(kPortIndexOutput, msg); @@ -908,14 +909,14 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) { break; } - case ACodec::kWhatEOS: + case CodecBase::kWhatEOS: { // We already notify the client of this by using the // corresponding flag in "onOutputBufferReady". break; } - case ACodec::kWhatShutdownCompleted: + case CodecBase::kWhatShutdownCompleted: { if (mState == STOPPING) { setState(INITIALIZED); @@ -928,7 +929,7 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) { break; } - case ACodec::kWhatFlushCompleted: + case CodecBase::kWhatFlushCompleted: { CHECK_EQ(mState, FLUSHING); setState(STARTED); |