Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 756d1733 authored by Amy Zhang's avatar Amy Zhang Committed by Android (Google) Code Review
Browse files

Merge "Allow Descrambler.add/removePid to pass a nullable optional filter" into sc-dev

parents 2a745be0 316b045b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -3970,7 +3970,7 @@ static jint android_media_tv_Tuner_descrambler_add_pid(
    if (descramblerClient == NULL) {
        return (jint) Result::NOT_INITIALIZED;
    }
    sp<FilterClient> filterClient = getFilterClient(env, filter);
    sp<FilterClient> filterClient = (filter == NULL) ? NULL : getFilterClient(env, filter);
    Result result = descramblerClient->addPid(getDemuxPid((int)pidType, (int)pid), filterClient);
    return (jint) result;
}
@@ -3981,7 +3981,7 @@ static jint android_media_tv_Tuner_descrambler_remove_pid(
    if (descramblerClient == NULL) {
        return (jint) Result::NOT_INITIALIZED;
    }
    sp<FilterClient> filterClient = getFilterClient(env, filter);
    sp<FilterClient> filterClient = (filter == NULL) ? NULL : getFilterClient(env, filter);
    Result result = descramblerClient->removePid(getDemuxPid((int)pidType, (int)pid), filterClient);
    return (jint) result;
}
+14 −7
Original line number Diff line number Diff line
@@ -73,26 +73,33 @@ Result DescramblerClient::setKeyToken(vector<uint8_t> keyToken) {

Result DescramblerClient::addPid(DemuxPid pid, sp<FilterClient> optionalSourceFilter) {
    if (mTunerDescrambler != NULL) {
        Status s = mTunerDescrambler->addPid(
                getAidlDemuxPid(pid), optionalSourceFilter->getAidlFilter());
        shared_ptr<ITunerFilter> aidlFilter = (optionalSourceFilter == NULL)
                ? NULL : optionalSourceFilter->getAidlFilter();
        Status s = mTunerDescrambler->addPid(getAidlDemuxPid(pid), aidlFilter);
        return ClientHelper::getServiceSpecificErrorCode(s);
    }

    if (mDescrambler != NULL) {
        return mDescrambler->addPid(pid, optionalSourceFilter->getHalFilter());
        sp<IFilter> halFilter = (optionalSourceFilter == NULL)
                ? NULL : optionalSourceFilter->getHalFilter();
        return mDescrambler->addPid(pid, halFilter);
    }

    return Result::INVALID_STATE;}
    return Result::INVALID_STATE;
}

Result DescramblerClient::removePid(DemuxPid pid, sp<FilterClient> optionalSourceFilter) {
    if (mTunerDescrambler != NULL) {
        Status s = mTunerDescrambler->removePid(
                getAidlDemuxPid(pid), optionalSourceFilter->getAidlFilter());
        shared_ptr<ITunerFilter> aidlFilter = (optionalSourceFilter == NULL)
                ? NULL : optionalSourceFilter->getAidlFilter();
        Status s = mTunerDescrambler->removePid(getAidlDemuxPid(pid), aidlFilter);
        return ClientHelper::getServiceSpecificErrorCode(s);
    }

    if (mDescrambler != NULL) {
        return mDescrambler->removePid(pid, optionalSourceFilter->getHalFilter());
        sp<IFilter> halFilter = (optionalSourceFilter == NULL)
                ? NULL : optionalSourceFilter->getHalFilter();
        return mDescrambler->removePid(pid, halFilter);
    }

    return Result::INVALID_STATE;