Merge "Avoid duplicate closing on Tuner instances" into sc-dev
This commit is contained in:
@@ -216,14 +216,13 @@ Result DemuxClient::disconnectCiCam() {
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
@@ -101,14 +101,18 @@ Result DescramblerClient::removePid(DemuxPid pid, sp<FilterClient> optionalSourc
|
||||
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 ///////////////////////
|
||||
|
||||
|
||||
@@ -316,14 +316,13 @@ Result DvrClient::flush() {
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
@@ -262,14 +262,14 @@ Result FilterClient::close() {
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -322,15 +322,14 @@ Result FrontendClient::unlinkCiCamToFrontend(int ciCamId) {
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
@@ -113,11 +113,14 @@ Result LnbClient::sendDiseqcMessage(vector<uint8_t> diseqcMessage) {
|
||||
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;
|
||||
|
||||
@@ -126,11 +126,14 @@ long TimeFilterClient::getSourceTime() {
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user