diff options
author | Jamie Gennis <jgennis@google.com> | 2012-08-23 20:24:09 -0700 |
---|---|---|
committer | Jamie Gennis <jgennis@google.com> | 2012-08-26 16:25:12 -0700 |
commit | a0ead0a2d2ce1d114ad3a17d755dddce831abb40 (patch) | |
tree | 0908865a805a13176c98f2a9a5ffb2c28380d75d /media/libstagefright/SurfaceMediaSource.cpp | |
parent | ff3f75c3e827c1c1f3e3a11b1de46b19444af197 (diff) | |
download | frameworks_av-a0ead0a2d2ce1d114ad3a17d755dddce831abb40.zip frameworks_av-a0ead0a2d2ce1d114ad3a17d755dddce831abb40.tar.gz frameworks_av-a0ead0a2d2ce1d114ad3a17d755dddce831abb40.tar.bz2 |
SurfaceMediaSource: a few fixes / cleanups
- Remove the setting of mStopped to true in onBuffersReleased
- Cleaned up a few function call logs
- Removed the 'reset' method.
Change-Id: I56bab1d5cb2f3e6d59d54698c2e045d796d1849f
Diffstat (limited to 'media/libstagefright/SurfaceMediaSource.cpp')
-rw-r--r-- | media/libstagefright/SurfaceMediaSource.cpp | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/media/libstagefright/SurfaceMediaSource.cpp b/media/libstagefright/SurfaceMediaSource.cpp index f1f444e..f5c8c93 100644 --- a/media/libstagefright/SurfaceMediaSource.cpp +++ b/media/libstagefright/SurfaceMediaSource.cpp @@ -46,7 +46,7 @@ SurfaceMediaSource::SurfaceMediaSource(uint32_t bufferWidth, uint32_t bufferHeig mNumFramesEncoded(0), mFirstFrameTimestamp(0) { - ALOGV("SurfaceMediaSource::SurfaceMediaSource"); + ALOGV("SurfaceMediaSource"); if (bufferWidth == 0 || bufferHeight == 0) { ALOGE("Invalid dimensions %dx%d", bufferWidth, bufferHeight); @@ -77,21 +77,19 @@ SurfaceMediaSource::SurfaceMediaSource(uint32_t bufferWidth, uint32_t bufferHeig } SurfaceMediaSource::~SurfaceMediaSource() { - ALOGV("SurfaceMediaSource::~SurfaceMediaSource"); - if (!mStopped) { - reset(); - } + ALOGV("~SurfaceMediaSource"); + CHECK(mStopped == true); } nsecs_t SurfaceMediaSource::getTimestamp() { - ALOGV("SurfaceMediaSource::getTimestamp"); + ALOGV("getTimestamp"); Mutex::Autolock lock(mMutex); return mCurrentTimestamp; } void SurfaceMediaSource::setFrameAvailableListener( const sp<FrameAvailableListener>& listener) { - ALOGV("SurfaceMediaSource::setFrameAvailableListener"); + ALOGV("setFrameAvailableListener"); Mutex::Autolock lock(mMutex); mFrameAvailableListener = listener; } @@ -113,6 +111,7 @@ void SurfaceMediaSource::dump(String8& result, const char* prefix, status_t SurfaceMediaSource::setFrameRate(int32_t fps) { + ALOGV("setFrameRate"); Mutex::Autolock lock(mMutex); const int MAX_FRAME_RATE = 60; if (fps < 0 || fps > MAX_FRAME_RATE) { @@ -128,13 +127,14 @@ bool SurfaceMediaSource::isMetaDataStoredInVideoBuffers() const { } int32_t SurfaceMediaSource::getFrameRate( ) const { + ALOGV("getFrameRate"); Mutex::Autolock lock(mMutex); return mFrameRate; } status_t SurfaceMediaSource::start(MetaData *params) { - ALOGV("started!"); + ALOGV("start"); mStartTimeNs = 0; int64_t startTimeUs; @@ -146,18 +146,15 @@ status_t SurfaceMediaSource::start(MetaData *params) } -status_t SurfaceMediaSource::reset() +status_t SurfaceMediaSource::stop() { - ALOGV("Reset"); - + ALOGV("stop"); Mutex::Autolock lock(mMutex); - // TODO: Add waiting on mFrameCompletedCondition here? - mStopped = true; + mStopped = true; mFrameAvailableCondition.signal(); - mBufferQueue->consumerDisconnect(); - return OK; + return mBufferQueue->consumerDisconnect(); } sp<MetaData> SurfaceMediaSource::getFormat() @@ -376,7 +373,6 @@ void SurfaceMediaSource::onBuffersReleased() { Mutex::Autolock lock(mMutex); mFrameAvailableCondition.signal(); - mStopped = true; for (int i = 0; i < BufferQueue::NUM_BUFFER_SLOTS; i++) { mBufferSlot[i] = 0; |