diff options
author | James Dong <jdong@google.com> | 2012-02-04 05:54:53 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-02-04 05:54:54 -0800 |
commit | f9289a4ca88d8f72cb0d6b3ca16fbc44ef4a2aeb (patch) | |
tree | 72b693683dfd6405f6f8f70cdfde38b4b563c4c6 /media | |
parent | f3623993b78669a624d9b3a703b361ed6c035ad9 (diff) | |
parent | b44c9d2bdc0d5b9cb03254022a58e017b516e9e6 (diff) | |
download | frameworks_av-f9289a4ca88d8f72cb0d6b3ca16fbc44ef4a2aeb.zip frameworks_av-f9289a4ca88d8f72cb0d6b3ca16fbc44ef4a2aeb.tar.gz frameworks_av-f9289a4ca88d8f72cb0d6b3ca16fbc44ef4a2aeb.tar.bz2 |
Merge "Don't call virtual functions in the destructor for audio and camera source classes"
Diffstat (limited to 'media')
-rw-r--r-- | media/libstagefright/AudioSource.cpp | 4 | ||||
-rwxr-xr-x | media/libstagefright/CameraSource.cpp | 8 | ||||
-rw-r--r-- | media/libstagefright/CameraSourceTimeLapse.cpp | 13 |
3 files changed, 10 insertions, 15 deletions
diff --git a/media/libstagefright/AudioSource.cpp b/media/libstagefright/AudioSource.cpp index 8bdb7c5..fef2a00 100644 --- a/media/libstagefright/AudioSource.cpp +++ b/media/libstagefright/AudioSource.cpp @@ -72,7 +72,7 @@ AudioSource::AudioSource( AudioSource::~AudioSource() { if (mStarted) { - stop(); + reset(); } delete mRecord; @@ -130,7 +130,7 @@ void AudioSource::waitOutstandingEncodingFrames_l() { } } -status_t AudioSource::stop() { +status_t AudioSource::reset() { Mutex::Autolock autoLock(mLock); if (!mStarted) { return UNKNOWN_ERROR; diff --git a/media/libstagefright/CameraSource.cpp b/media/libstagefright/CameraSource.cpp index 1850c9c..228659c 100755 --- a/media/libstagefright/CameraSource.cpp +++ b/media/libstagefright/CameraSource.cpp @@ -548,7 +548,7 @@ status_t CameraSource::initWithCameraAccess( CameraSource::~CameraSource() { if (mStarted) { - stop(); + reset(); } else if (mInitCheck == OK) { // Camera is initialized but because start() is never called, // the lock on Camera is never released(). This makes sure @@ -632,8 +632,8 @@ void CameraSource::releaseCamera() { mCameraFlags = 0; } -status_t CameraSource::stop() { - ALOGD("stop: E"); +status_t CameraSource::reset() { + ALOGD("reset: E"); Mutex::Autolock autoLock(mLock); mStarted = false; mFrameAvailableCondition.signal(); @@ -670,7 +670,7 @@ status_t CameraSource::stop() { } CHECK_EQ(mNumFramesReceived, mNumFramesEncoded + mNumFramesDropped); - ALOGD("stop: X"); + ALOGD("reset: X"); return OK; } diff --git a/media/libstagefright/CameraSourceTimeLapse.cpp b/media/libstagefright/CameraSourceTimeLapse.cpp index 263ab50..83d67b9 100644 --- a/media/libstagefright/CameraSourceTimeLapse.cpp +++ b/media/libstagefright/CameraSourceTimeLapse.cpp @@ -87,6 +87,10 @@ CameraSourceTimeLapse::CameraSourceTimeLapse( } CameraSourceTimeLapse::~CameraSourceTimeLapse() { + if (mLastReadBufferCopy) { + mLastReadBufferCopy->release(); + mLastReadBufferCopy = NULL; + } } void CameraSourceTimeLapse::startQuickReadReturns() { @@ -204,15 +208,6 @@ status_t CameraSourceTimeLapse::read( } } -void CameraSourceTimeLapse::stopCameraRecording() { - ALOGV("stopCameraRecording"); - CameraSource::stopCameraRecording(); - if (mLastReadBufferCopy) { - mLastReadBufferCopy->release(); - mLastReadBufferCopy = NULL; - } -} - sp<IMemory> CameraSourceTimeLapse::createIMemoryCopy( const sp<IMemory> &source_data) { |