Merge "Avoid duplicate closing on Tuner instances" into sc-dev

This commit is contained in:
Amy Zhang
2021-02-16 05:54:45 +00:00
committed by Android (Google) Code Review
7 changed files with 24 additions and 17 deletions

View File

@@ -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;
}

View File

@@ -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 ///////////////////////

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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;