summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/SurfaceMediaSource.cpp
diff options
context:
space:
mode:
authorJamie Gennis <jgennis@google.com>2012-08-23 20:24:09 -0700
committerJamie Gennis <jgennis@google.com>2012-08-26 16:25:12 -0700
commita0ead0a2d2ce1d114ad3a17d755dddce831abb40 (patch)
tree0908865a805a13176c98f2a9a5ffb2c28380d75d /media/libstagefright/SurfaceMediaSource.cpp
parentff3f75c3e827c1c1f3e3a11b1de46b19444af197 (diff)
downloadframeworks_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.cpp28
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;