Merge "Avoid duplicate closing on Tuner instances" into sc-dev
diff --git a/media/jni/tuner/DemuxClient.cpp b/media/jni/tuner/DemuxClient.cpp
index 748d458..359ef36 100644
--- a/media/jni/tuner/DemuxClient.cpp
+++ b/media/jni/tuner/DemuxClient.cpp
@@ -216,14 +216,13 @@
Result DemuxClient::close() {
if (mTunerDemux != NULL) {
Status s = mTunerDemux->close();
+ mDemux = NULL;
return ClientHelper::getServiceSpecificErrorCode(s);
}
if (mDemux != NULL) {
Result res = mDemux->close();
- if (res == Result::SUCCESS) {
- mDemux = NULL;
- }
+ mDemux = NULL;
return res;
}
diff --git a/media/jni/tuner/DescramblerClient.cpp b/media/jni/tuner/DescramblerClient.cpp
index c9bacda..07be5cf 100644
--- a/media/jni/tuner/DescramblerClient.cpp
+++ b/media/jni/tuner/DescramblerClient.cpp
@@ -101,14 +101,18 @@
Result DescramblerClient::close() {
if (mTunerDescrambler != NULL) {
Status s = mTunerDescrambler->close();
+ mTunerDescrambler = NULL;
return ClientHelper::getServiceSpecificErrorCode(s);
}
if (mDescrambler != NULL) {
- return mDescrambler->close();
+ Result res = mDescrambler->close();
+ mDescrambler = NULL;
+ return res;
}
- return Result::INVALID_STATE;}
+ return Result::INVALID_STATE;
+}
/////////////// DescramblerClient Helper Methods ///////////////////////
diff --git a/media/jni/tuner/DvrClient.cpp b/media/jni/tuner/DvrClient.cpp
index 0400485..7793180 100644
--- a/media/jni/tuner/DvrClient.cpp
+++ b/media/jni/tuner/DvrClient.cpp
@@ -316,14 +316,13 @@
Result DvrClient::close() {
if (mTunerDvr != NULL) {
Status s = mTunerDvr->close();
+ mTunerDvr = NULL;
return ClientHelper::getServiceSpecificErrorCode(s);
}
if (mDvr != NULL) {
Result res = mDvr->close();
- if (res == Result::SUCCESS) {
- mDvr = NULL;
- }
+ mDvr = NULL;
return res;
}
diff --git a/media/jni/tuner/FilterClient.cpp b/media/jni/tuner/FilterClient.cpp
index f618890..f31d465 100644
--- a/media/jni/tuner/FilterClient.cpp
+++ b/media/jni/tuner/FilterClient.cpp
@@ -262,14 +262,14 @@
if (mTunerFilter != NULL) {
Status s = mTunerFilter->close();
closeAvSharedMemory();
+ mTunerFilter = NULL;
return ClientHelper::getServiceSpecificErrorCode(s);
}
if (mFilter != NULL) {
Result res = mFilter->close();
- if (res == Result::SUCCESS) {
- mFilter = NULL;
- }
+ mFilter = NULL;
+ mFilter_1_1 = NULL;
closeAvSharedMemory();
return res;
}
diff --git a/media/jni/tuner/FrontendClient.cpp b/media/jni/tuner/FrontendClient.cpp
index 0613223..9e36642 100644
--- a/media/jni/tuner/FrontendClient.cpp
+++ b/media/jni/tuner/FrontendClient.cpp
@@ -322,15 +322,14 @@
Result FrontendClient::close() {
if (mTunerFrontend != NULL) {
Status s = mTunerFrontend->close();
+ mTunerFrontend = NULL;
return ClientHelper::getServiceSpecificErrorCode(s);
}
if (mFrontend != NULL) {
Result result = mFrontend->close();
- if (result == Result::SUCCESS) {
- mFrontend = NULL;
- mFrontend_1_1 = NULL;
- }
+ mFrontend = NULL;
+ mFrontend_1_1 = NULL;
return result;
}
diff --git a/media/jni/tuner/LnbClient.cpp b/media/jni/tuner/LnbClient.cpp
index 8d08c25..5b6e46e 100644
--- a/media/jni/tuner/LnbClient.cpp
+++ b/media/jni/tuner/LnbClient.cpp
@@ -113,11 +113,14 @@
Result LnbClient::close() {
if (mTunerLnb != NULL) {
Status s = mTunerLnb->close();
+ mTunerLnb = NULL;
return ClientHelper::getServiceSpecificErrorCode(s);
}
if (mLnb != NULL) {
- return mLnb->close();
+ Result res = mLnb->close();
+ mLnb = NULL;
+ return res;
}
return Result::INVALID_STATE;
diff --git a/media/jni/tuner/TimeFilterClient.cpp b/media/jni/tuner/TimeFilterClient.cpp
index 432238d..e123c9f 100644
--- a/media/jni/tuner/TimeFilterClient.cpp
+++ b/media/jni/tuner/TimeFilterClient.cpp
@@ -126,11 +126,14 @@
Result TimeFilterClient::close() {
if (mTunerTimeFilter != NULL) {
Status s = mTunerTimeFilter->close();
+ mTunerTimeFilter = NULL;
return ClientHelper::getServiceSpecificErrorCode(s);
}
if (mTimeFilter != NULL) {
- return mTimeFilter->close();
+ Result res = mTimeFilter->close();
+ mTimeFilter = NULL;
+ return res;
}
return Result::INVALID_STATE;