summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/wifi-display/source/RepeaterSource.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2012-09-28 16:34:38 -0700
committerAndreas Huber <andih@google.com>2012-09-28 16:36:04 -0700
commit77245813007cf903b4b73f5d0cd20313fbf0e510 (patch)
tree6f5a35a89933a2578a7f1ff6ec1cd4b9a5240a30 /media/libstagefright/wifi-display/source/RepeaterSource.cpp
parent23f74017a2c457a25382677b6e696c4cfa06cef5 (diff)
downloadframeworks_av-77245813007cf903b4b73f5d0cd20313fbf0e510.zip
frameworks_av-77245813007cf903b4b73f5d0cd20313fbf0e510.tar.gz
frameworks_av-77245813007cf903b4b73f5d0cd20313fbf0e510.tar.bz2
Even cleaner shutdown.
Change-Id: I5a76f83db3a5e43f55eb4e04269d890c2015bae7 related-to-bug: 7247918
Diffstat (limited to 'media/libstagefright/wifi-display/source/RepeaterSource.cpp')
-rw-r--r--media/libstagefright/wifi-display/source/RepeaterSource.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/media/libstagefright/wifi-display/source/RepeaterSource.cpp b/media/libstagefright/wifi-display/source/RepeaterSource.cpp
index 483d29c..dc216e8 100644
--- a/media/libstagefright/wifi-display/source/RepeaterSource.cpp
+++ b/media/libstagefright/wifi-display/source/RepeaterSource.cpp
@@ -13,7 +13,8 @@
namespace android {
RepeaterSource::RepeaterSource(const sp<MediaSource> &source, double rateHz)
- : mSource(source),
+ : mStarted(false),
+ mSource(source),
mRateHz(rateHz),
mBuffer(NULL),
mResult(OK),
@@ -22,10 +23,12 @@ RepeaterSource::RepeaterSource(const sp<MediaSource> &source, double rateHz)
}
RepeaterSource::~RepeaterSource() {
- stop();
+ CHECK(!mStarted);
}
status_t RepeaterSource::start(MetaData *params) {
+ CHECK(!mStarted);
+
status_t err = mSource->start(params);
if (err != OK) {
@@ -46,10 +49,14 @@ status_t RepeaterSource::start(MetaData *params) {
postRead();
+ mStarted = true;
+
return OK;
}
status_t RepeaterSource::stop() {
+ CHECK(mStarted);
+
ALOGV("stopping");
if (mLooper != NULL) {
@@ -69,6 +76,8 @@ status_t RepeaterSource::stop() {
ALOGV("stopped");
+ mStarted = false;
+
return err;
}