summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/wifi-display/source/RepeaterSource.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/libstagefright/wifi-display/source/RepeaterSource.cpp')
-rw-r--r--media/libstagefright/wifi-display/source/RepeaterSource.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/media/libstagefright/wifi-display/source/RepeaterSource.cpp b/media/libstagefright/wifi-display/source/RepeaterSource.cpp
index 56e8860..483d29c 100644
--- a/media/libstagefright/wifi-display/source/RepeaterSource.cpp
+++ b/media/libstagefright/wifi-display/source/RepeaterSource.cpp
@@ -50,6 +50,8 @@ status_t RepeaterSource::start(MetaData *params) {
}
status_t RepeaterSource::stop() {
+ ALOGV("stopping");
+
if (mLooper != NULL) {
mLooper->stop();
mLooper.clear();
@@ -57,7 +59,17 @@ status_t RepeaterSource::stop() {
mReflector.clear();
}
- return mSource->stop();
+ if (mBuffer != NULL) {
+ ALOGV("releasing mbuf %p", mBuffer);
+ mBuffer->release();
+ mBuffer = NULL;
+ }
+
+ status_t err = mSource->stop();
+
+ ALOGV("stopped");
+
+ return err;
}
sp<MetaData> RepeaterSource::getFormat() {
@@ -117,6 +129,8 @@ void RepeaterSource::onMessageReceived(const sp<AMessage> &msg) {
MediaBuffer *buffer;
status_t err = mSource->read(&buffer);
+ ALOGV("read mbuf %p", buffer);
+
Mutex::Autolock autoLock(mLock);
if (mBuffer != NULL) {
mBuffer->release();