diff options
author | Chong Zhang <chz@google.com> | 2015-05-13 10:21:33 -0700 |
---|---|---|
committer | Chong Zhang <chz@google.com> | 2015-05-13 10:49:35 -0700 |
commit | 8f469e18c307cb9dc0d16ed9225972aa8be4516f (patch) | |
tree | c8e07383c8bdef3b0214def08f6b2d6da7e622f4 /media | |
parent | 635bc8f90429b2fdcaf7f8d43f7f59bcd0fe951c (diff) | |
download | frameworks_av-8f469e18c307cb9dc0d16ed9225972aa8be4516f.zip frameworks_av-8f469e18c307cb9dc0d16ed9225972aa8be4516f.tar.gz frameworks_av-8f469e18c307cb9dc0d16ed9225972aa8be4516f.tar.bz2 |
stagefright: rename usePersistentInputSurface to setInputSurface
and clear persistent surface pointer when MediaRecorder is reset
bug: 21045118
bug: 21045402
Change-Id: Ifd0d6deeb969f2252123929541b30b518cecbf9a
Diffstat (limited to 'media')
-rw-r--r-- | media/libmedia/IMediaRecorder.cpp | 14 | ||||
-rw-r--r-- | media/libmedia/IOMX.cpp | 12 | ||||
-rw-r--r-- | media/libmedia/mediarecorder.cpp | 8 | ||||
-rw-r--r-- | media/libmediaplayerservice/MediaRecorderClient.cpp | 6 | ||||
-rw-r--r-- | media/libmediaplayerservice/MediaRecorderClient.h | 2 | ||||
-rw-r--r-- | media/libmediaplayerservice/StagefrightRecorder.cpp | 3 | ||||
-rw-r--r-- | media/libmediaplayerservice/StagefrightRecorder.h | 2 | ||||
-rw-r--r-- | media/libstagefright/ACodec.cpp | 20 | ||||
-rw-r--r-- | media/libstagefright/MediaCodec.cpp | 10 | ||||
-rw-r--r-- | media/libstagefright/MediaCodecSource.cpp | 2 | ||||
-rw-r--r-- | media/libstagefright/OMXClient.cpp | 7 | ||||
-rw-r--r-- | media/libstagefright/filters/MediaFilter.cpp | 4 | ||||
-rw-r--r-- | media/libstagefright/include/OMX.h | 2 | ||||
-rw-r--r-- | media/libstagefright/include/OMXNodeInstance.h | 2 | ||||
-rw-r--r-- | media/libstagefright/omx/OMX.cpp | 5 | ||||
-rw-r--r-- | media/libstagefright/omx/OMXNodeInstance.cpp | 2 |
16 files changed, 49 insertions, 52 deletions
diff --git a/media/libmedia/IMediaRecorder.cpp b/media/libmedia/IMediaRecorder.cpp index c7a1394..ee3b584 100644 --- a/media/libmedia/IMediaRecorder.cpp +++ b/media/libmedia/IMediaRecorder.cpp @@ -35,7 +35,7 @@ enum { RELEASE = IBinder::FIRST_CALL_TRANSACTION, INIT, CLOSE, - USE_PERSISTENT_SURFACE, + SET_INPUT_SURFACE, QUERY_SURFACE_MEDIASOURCE, RESET, STOP, @@ -76,13 +76,13 @@ public: return reply.readInt32(); } - status_t usePersistentSurface(const sp<IGraphicBufferConsumer>& surface) + status_t setInputSurface(const sp<IGraphicBufferConsumer>& surface) { - ALOGV("usePersistentSurface(%p)", surface.get()); + ALOGV("setInputSurface(%p)", surface.get()); Parcel data, reply; data.writeInterfaceToken(IMediaRecorder::getInterfaceDescriptor()); data.writeStrongBinder(IInterface::asBinder(surface)); - remote()->transact(USE_PERSISTENT_SURFACE, data, &reply); + remote()->transact(SET_INPUT_SURFACE, data, &reply); return reply.readInt32(); } @@ -453,12 +453,12 @@ status_t BnMediaRecorder::onTransact( reply->writeInt32(setCamera(camera, proxy)); return NO_ERROR; } break; - case USE_PERSISTENT_SURFACE: { - ALOGV("USE_PERSISTENT_SURFACE"); + case SET_INPUT_SURFACE: { + ALOGV("SET_INPUT_SURFACE"); CHECK_INTERFACE(IMediaRecorder, data, reply); sp<IGraphicBufferConsumer> surface = interface_cast<IGraphicBufferConsumer>( data.readStrongBinder()); - reply->writeInt32(usePersistentSurface(surface)); + reply->writeInt32(setInputSurface(surface)); return NO_ERROR; } break; case QUERY_SURFACE_MEDIASOURCE: { diff --git a/media/libmedia/IOMX.cpp b/media/libmedia/IOMX.cpp index 39b135b..c14debf 100644 --- a/media/libmedia/IOMX.cpp +++ b/media/libmedia/IOMX.cpp @@ -42,7 +42,7 @@ enum { USE_GRAPHIC_BUFFER, CREATE_INPUT_SURFACE, CREATE_PERSISTENT_INPUT_SURFACE, - USE_PERSISTENT_INPUT_SURFACE, + SET_INPUT_SURFACE, SIGNAL_END_OF_INPUT_STREAM, STORE_META_DATA_IN_BUFFERS, PREPARE_FOR_ADAPTIVE_PLAYBACK, @@ -353,7 +353,7 @@ public: return err; } - virtual status_t usePersistentInputSurface( + virtual status_t setInputSurface( node_id node, OMX_U32 port_index, const sp<IGraphicBufferConsumer> &bufferConsumer) { Parcel data, reply; @@ -363,7 +363,7 @@ public: data.writeInt32(port_index); data.writeStrongBinder(IInterface::asBinder(bufferConsumer)); - err = remote()->transact(USE_PERSISTENT_INPUT_SURFACE, data, &reply); + err = remote()->transact(SET_INPUT_SURFACE, data, &reply); if (err != OK) { ALOGW("binder transaction failed: %d", err); @@ -372,7 +372,6 @@ public: return reply.readInt32(); } - virtual status_t signalEndOfInputStream(node_id node) { Parcel data, reply; status_t err; @@ -847,7 +846,7 @@ status_t BnOMX::onTransact( return NO_ERROR; } - case USE_PERSISTENT_INPUT_SURFACE: + case SET_INPUT_SURFACE: { CHECK_OMX_INTERFACE(IOMX, data, reply); @@ -857,8 +856,7 @@ status_t BnOMX::onTransact( sp<IGraphicBufferConsumer> bufferConsumer = interface_cast<IGraphicBufferConsumer>(data.readStrongBinder()); - status_t err = usePersistentInputSurface( - node, port_index, bufferConsumer); + status_t err = setInputSurface(node, port_index, bufferConsumer); reply->writeInt32(err); return NO_ERROR; diff --git a/media/libmedia/mediarecorder.cpp b/media/libmedia/mediarecorder.cpp index 1f8b1d3..8bbd8f1 100644 --- a/media/libmedia/mediarecorder.cpp +++ b/media/libmedia/mediarecorder.cpp @@ -345,9 +345,9 @@ sp<IGraphicBufferProducer> MediaRecorder:: -status_t MediaRecorder::usePersistentSurface(const sp<PersistentSurface>& surface) +status_t MediaRecorder::setInputSurface(const sp<PersistentSurface>& surface) { - ALOGV("usePersistentSurface"); + ALOGV("setInputSurface"); if (mMediaRecorder == NULL) { ALOGE("media recorder is not initialized yet"); return INVALID_OPERATION; @@ -356,11 +356,11 @@ status_t MediaRecorder::usePersistentSurface(const sp<PersistentSurface>& surfac (MEDIA_RECORDER_PREPARED | MEDIA_RECORDER_RECORDING)); if (isInvalidState) { - ALOGE("usePersistentSurface is called in an invalid state: %d", mCurrentState); + ALOGE("setInputSurface is called in an invalid state: %d", mCurrentState); return INVALID_OPERATION; } - return mMediaRecorder->usePersistentSurface(surface->getBufferConsumer()); + return mMediaRecorder->setInputSurface(surface->getBufferConsumer()); } status_t MediaRecorder::setVideoFrameRate(int frames_per_second) diff --git a/media/libmediaplayerservice/MediaRecorderClient.cpp b/media/libmediaplayerservice/MediaRecorderClient.cpp index ed442e3..f761dec 100644 --- a/media/libmediaplayerservice/MediaRecorderClient.cpp +++ b/media/libmediaplayerservice/MediaRecorderClient.cpp @@ -55,15 +55,15 @@ static bool checkPermission(const char* permissionString) { return ok; } -status_t MediaRecorderClient::usePersistentSurface(const sp<IGraphicBufferConsumer>& surface) +status_t MediaRecorderClient::setInputSurface(const sp<IGraphicBufferConsumer>& surface) { - ALOGV("usePersistentSurface"); + ALOGV("setInputSurface"); Mutex::Autolock lock(mLock); if (mRecorder == NULL) { ALOGE("recorder is not initialized"); return NO_INIT; } - return mRecorder->usePersistentSurface(surface); + return mRecorder->setInputSurface(surface); } sp<IGraphicBufferProducer> MediaRecorderClient::querySurfaceMediaSource() diff --git a/media/libmediaplayerservice/MediaRecorderClient.h b/media/libmediaplayerservice/MediaRecorderClient.h index 7ac88cb..05130d4 100644 --- a/media/libmediaplayerservice/MediaRecorderClient.h +++ b/media/libmediaplayerservice/MediaRecorderClient.h @@ -55,7 +55,7 @@ public: virtual status_t close(); virtual status_t release(); virtual status_t dump(int fd, const Vector<String16>& args); - virtual status_t usePersistentSurface(const sp<IGraphicBufferConsumer>& surface); + virtual status_t setInputSurface(const sp<IGraphicBufferConsumer>& surface); virtual sp<IGraphicBufferProducer> querySurfaceMediaSource(); private: diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp index 509a592..e16a4b5 100644 --- a/media/libmediaplayerservice/StagefrightRecorder.cpp +++ b/media/libmediaplayerservice/StagefrightRecorder.cpp @@ -243,7 +243,7 @@ status_t StagefrightRecorder::setPreviewSurface(const sp<IGraphicBufferProducer> return OK; } -status_t StagefrightRecorder::usePersistentSurface( +status_t StagefrightRecorder::setInputSurface( const sp<IGraphicBufferConsumer>& surface) { mPersistentSurface = surface; @@ -1752,6 +1752,7 @@ status_t StagefrightRecorder::stop() { } mGraphicBufferProducer.clear(); + mPersistentSurface.clear(); if (mOutputFd >= 0) { ::close(mOutputFd); diff --git a/media/libmediaplayerservice/StagefrightRecorder.h b/media/libmediaplayerservice/StagefrightRecorder.h index 1a7b720..7473f42 100644 --- a/media/libmediaplayerservice/StagefrightRecorder.h +++ b/media/libmediaplayerservice/StagefrightRecorder.h @@ -54,7 +54,7 @@ struct StagefrightRecorder : public MediaRecorderBase { virtual status_t setVideoFrameRate(int frames_per_second); virtual status_t setCamera(const sp<ICamera>& camera, const sp<ICameraRecordingProxy>& proxy); virtual status_t setPreviewSurface(const sp<IGraphicBufferProducer>& surface); - virtual status_t usePersistentSurface(const sp<IGraphicBufferConsumer>& surface); + virtual status_t setInputSurface(const sp<IGraphicBufferConsumer>& surface); virtual status_t setOutputFile(int fd, int64_t offset, int64_t length); virtual status_t setParameters(const String8& params); virtual status_t setListener(const sp<IMediaRecorderClient>& listener); diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp index 5475a4a..76da44e 100644 --- a/media/libstagefright/ACodec.cpp +++ b/media/libstagefright/ACodec.cpp @@ -261,7 +261,7 @@ private: bool onConfigureComponent(const sp<AMessage> &msg); void onCreateInputSurface(const sp<AMessage> &msg); - void onUsePersistentInputSurface(const sp<AMessage> &msg); + void onSetInputSurface(const sp<AMessage> &msg); void onStart(); void onShutdown(bool keepComponentAllocated); @@ -497,9 +497,9 @@ void ACodec::initiateCreateInputSurface() { (new AMessage(kWhatCreateInputSurface, this))->post(); } -void ACodec::initiateUsePersistentInputSurface( +void ACodec::initiateSetInputSurface( const sp<PersistentSurface> &surface) { - sp<AMessage> msg = new AMessage(kWhatUsePersistentInputSurface, this); + sp<AMessage> msg = new AMessage(kWhatSetInputSurface, this); msg->setObject("input-surface", surface); msg->post(); } @@ -4144,7 +4144,7 @@ bool ACodec::BaseState::onMessageReceived(const sp<AMessage> &msg) { } case ACodec::kWhatCreateInputSurface: - case ACodec::kWhatUsePersistentInputSurface: + case ACodec::kWhatSetInputSurface: case ACodec::kWhatSignalEndOfInputStream: { // This may result in an app illegal state exception. @@ -5040,9 +5040,9 @@ bool ACodec::LoadedState::onMessageReceived(const sp<AMessage> &msg) { break; } - case ACodec::kWhatUsePersistentInputSurface: + case ACodec::kWhatSetInputSurface: { - onUsePersistentInputSurface(msg); + onSetInputSurface(msg); handled = true; break; } @@ -5235,9 +5235,9 @@ void ACodec::LoadedState::onCreateInputSurface( notify->post(); } -void ACodec::LoadedState::onUsePersistentInputSurface( +void ACodec::LoadedState::onSetInputSurface( const sp<AMessage> &msg) { - ALOGV("onUsePersistentInputSurface"); + ALOGV("onSetInputSurface"); sp<AMessage> notify = mCodec->mNotify->dup(); notify->setInt32("what", CodecBase::kWhatInputSurfaceAccepted); @@ -5246,7 +5246,7 @@ void ACodec::LoadedState::onUsePersistentInputSurface( CHECK(msg->findObject("input-surface", &obj)); sp<PersistentSurface> surface = static_cast<PersistentSurface *>(obj.get()); - status_t err = mCodec->mOMX->usePersistentInputSurface( + status_t err = mCodec->mOMX->setInputSurface( mCodec->mNode, kPortIndexInput, surface->getBufferConsumer()); if (err == OK) { @@ -5257,7 +5257,7 @@ void ACodec::LoadedState::onUsePersistentInputSurface( // Can't use mCodec->signalError() here -- MediaCodec won't forward // the error through because it's in the "configured" state. We // send a kWhatInputSurfaceAccepted with an error value instead. - ALOGE("[%s] onUsePersistentInputSurface returning error %d", + ALOGE("[%s] onSetInputSurface returning error %d", mCodec->mComponentName.c_str(), err); notify->setInt32("err", err); } diff --git a/media/libstagefright/MediaCodec.cpp b/media/libstagefright/MediaCodec.cpp index 44f6542..121bc09 100644 --- a/media/libstagefright/MediaCodec.cpp +++ b/media/libstagefright/MediaCodec.cpp @@ -548,9 +548,9 @@ status_t MediaCodec::configure( return err; } -status_t MediaCodec::usePersistentInputSurface( +status_t MediaCodec::setInputSurface( const sp<PersistentSurface> &surface) { - sp<AMessage> msg = new AMessage(kWhatUsePersistentInputSurface, this); + sp<AMessage> msg = new AMessage(kWhatSetInputSurface, this); msg->setObject("input-surface", surface.get()); sp<AMessage> response; @@ -1274,7 +1274,7 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) { case CodecBase::kWhatInputSurfaceAccepted: { - // response to initiateUsePersistentInputSurface() + // response to initiateSetInputSurface() status_t err = NO_ERROR; sp<AMessage> response = new AMessage(); if (!msg->findInt32("err", &err)) { @@ -1760,7 +1760,7 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) { } case kWhatCreateInputSurface: - case kWhatUsePersistentInputSurface: + case kWhatSetInputSurface: { sp<AReplyToken> replyID; CHECK(msg->senderAwaitsResponse(&replyID)); @@ -1778,7 +1778,7 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) { sp<RefBase> obj; CHECK(msg->findObject("input-surface", &obj)); - mCodec->initiateUsePersistentInputSurface( + mCodec->initiateSetInputSurface( static_cast<PersistentSurface *>(obj.get())); } break; diff --git a/media/libstagefright/MediaCodecSource.cpp b/media/libstagefright/MediaCodecSource.cpp index 9b57733..e089c46 100644 --- a/media/libstagefright/MediaCodecSource.cpp +++ b/media/libstagefright/MediaCodecSource.cpp @@ -427,7 +427,7 @@ status_t MediaCodecSource::initEncoder() { // When using persistent surface, we are only interested in the // consumer, but have to use PersistentSurface as a wrapper to // pass consumer over messages (similar to BufferProducerWrapper) - err = mEncoder->usePersistentInputSurface( + err = mEncoder->setInputSurface( new PersistentSurface(NULL, mGraphicBufferConsumer)); } else { err = mEncoder->createInputSurface(&mGraphicBufferProducer); diff --git a/media/libstagefright/OMXClient.cpp b/media/libstagefright/OMXClient.cpp index 44695ce..f1ebea2 100644 --- a/media/libstagefright/OMXClient.cpp +++ b/media/libstagefright/OMXClient.cpp @@ -108,7 +108,7 @@ struct MuxOMX : public IOMX { sp<IGraphicBufferProducer> *bufferProducer, sp<IGraphicBufferConsumer> *bufferConsumer); - virtual status_t usePersistentInputSurface( + virtual status_t setInputSurface( node_id node, OMX_U32 port_index, const sp<IGraphicBufferConsumer> &bufferConsumer); @@ -356,11 +356,10 @@ status_t MuxOMX::createPersistentInputSurface( bufferProducer, bufferConsumer); } -status_t MuxOMX::usePersistentInputSurface( +status_t MuxOMX::setInputSurface( node_id node, OMX_U32 port_index, const sp<IGraphicBufferConsumer> &bufferConsumer) { - return getOMX(node)->usePersistentInputSurface( - node, port_index, bufferConsumer); + return getOMX(node)->setInputSurface(node, port_index, bufferConsumer); } status_t MuxOMX::signalEndOfInputStream(node_id node) { diff --git a/media/libstagefright/filters/MediaFilter.cpp b/media/libstagefright/filters/MediaFilter.cpp index fa9d630..0cf6b06 100644 --- a/media/libstagefright/filters/MediaFilter.cpp +++ b/media/libstagefright/filters/MediaFilter.cpp @@ -76,9 +76,9 @@ void MediaFilter::initiateCreateInputSurface() { (new AMessage(kWhatCreateInputSurface, this))->post(); } -void MediaFilter::initiateUsePersistentInputSurface( +void MediaFilter::initiateSetInputSurface( const sp<PersistentSurface> & /* surface */) { - ALOGW("initiateUsePersistentInputSurface() unsupported"); + ALOGW("initiateSetInputSurface() unsupported"); } void MediaFilter::initiateStart() { diff --git a/media/libstagefright/include/OMX.h b/media/libstagefright/include/OMX.h index b1ee628..c183208 100644 --- a/media/libstagefright/include/OMX.h +++ b/media/libstagefright/include/OMX.h @@ -99,7 +99,7 @@ public: sp<IGraphicBufferProducer> *bufferProducer, sp<IGraphicBufferConsumer> *bufferConsumer); - virtual status_t usePersistentInputSurface( + virtual status_t setInputSurface( node_id node, OMX_U32 port_index, const sp<IGraphicBufferConsumer> &bufferConsumer); diff --git a/media/libstagefright/include/OMXNodeInstance.h b/media/libstagefright/include/OMXNodeInstance.h index 03c9a8a..ad1e181 100644 --- a/media/libstagefright/include/OMXNodeInstance.h +++ b/media/libstagefright/include/OMXNodeInstance.h @@ -87,7 +87,7 @@ struct OMXNodeInstance { sp<IGraphicBufferProducer> *bufferProducer, sp<IGraphicBufferConsumer> *bufferConsumer); - status_t usePersistentInputSurface( + status_t setInputSurface( OMX_U32 portIndex, const sp<IGraphicBufferConsumer> &bufferConsumer); status_t signalEndOfInputStream(); diff --git a/media/libstagefright/omx/OMX.cpp b/media/libstagefright/omx/OMX.cpp index 876abb8..a1ceb2e 100644 --- a/media/libstagefright/omx/OMX.cpp +++ b/media/libstagefright/omx/OMX.cpp @@ -385,11 +385,10 @@ status_t OMX::createPersistentInputSurface( bufferProducer, bufferConsumer); } -status_t OMX::usePersistentInputSurface( +status_t OMX::setInputSurface( node_id node, OMX_U32 port_index, const sp<IGraphicBufferConsumer> &bufferConsumer) { - return findInstance(node)->usePersistentInputSurface( - port_index, bufferConsumer); + return findInstance(node)->setInputSurface(port_index, bufferConsumer); } diff --git a/media/libstagefright/omx/OMXNodeInstance.cpp b/media/libstagefright/omx/OMXNodeInstance.cpp index 04293d6..91cee73 100644 --- a/media/libstagefright/omx/OMXNodeInstance.cpp +++ b/media/libstagefright/omx/OMXNodeInstance.cpp @@ -891,7 +891,7 @@ status_t OMXNodeInstance::createPersistentInputSurface( return OK; } -status_t OMXNodeInstance::usePersistentInputSurface( +status_t OMXNodeInstance::setInputSurface( OMX_U32 portIndex, const sp<IGraphicBufferConsumer> &bufferConsumer) { Mutex::Autolock autolock(mLock); return createGraphicBufferSource(portIndex, bufferConsumer); |