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

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

Merge "Improve Tuner 1.1 VTS configuration and 1.0 VTS compatibility" into sc-dev

parents c11c9708 df57fbfb
Loading
Loading
Loading
Loading
+8 −9
Original line number Diff line number Diff line
@@ -70,10 +70,6 @@ void FilterCallback::filterThreadLoop(DemuxFilterEvent& /* event */) {
}

bool FilterCallback::readFilterEventData() {
    if (mFilterMQ == NULL) {
        ALOGW("[vts] FMQ is not configured and does not need to be tested.");
        return true;
    }
    bool result = false;
    DemuxFilterEvent filterEvent = mFilterEvent;
    ALOGW("[vts] reading from filter FMQ or buffer %d", mFilterId);
@@ -95,16 +91,19 @@ bool FilterCallback::readFilterEventData() {
        }
        // EXPECT_TRUE(mDataLength == goldenDataOutputBuffer.size()) << "buffer size does not
        // match";

        if (mFilterMQ != NULL) {
            mDataOutputBuffer.resize(mDataLength);
            result = mFilterMQ->read(mDataOutputBuffer.data(), mDataLength);
            EXPECT_TRUE(result) << "can't read from Filter MQ";
        }

        /*for (int i = 0; i < mDataLength; i++) {
            EXPECT_TRUE(goldenDataOutputBuffer[i] == mDataOutputBuffer[i]) << "data does not match";
        }*/
    }
    if (mFilterMQ != NULL) {
        mFilterMQEventFlag->wake(static_cast<uint32_t>(DemuxQueueNotifyBits::DATA_CONSUMED));
    }
    return result;
}

+1 −1
Original line number Diff line number Diff line
@@ -221,7 +221,7 @@ inline void initFrontendConfig() {
    frontendArray[DVBT].tuneStatusTypes = types;
    frontendArray[DVBT].expectTuneStatuses = statuses;
    frontendArray[DVBT].isSoftwareFe = true;
    frontendArray[DVBS].enable = true;
    frontendArray[DVBT].enable = true;
    frontendArray[DVBS].type = FrontendType::DVBS;
    frontendArray[DVBS].enable = true;
    frontendArray[DVBS].isSoftwareFe = true;
+5 −1
Original line number Diff line number Diff line
@@ -252,7 +252,11 @@ AssertionResult FilterTests::configIpFilterCid(uint32_t ipCid, uint64_t filterId
    return AssertionResult(status == Result::SUCCESS);
}

AssertionResult FilterTests::getFilterMQDescriptor(uint64_t filterId) {
AssertionResult FilterTests::getFilterMQDescriptor(uint64_t filterId, bool getMqDesc) {
    if (!getMqDesc) {
        ALOGE("[vts] Filter does not need FMQ.");
        return success();
    }
    Result status;
    EXPECT_TRUE(mFilters[filterId]) << "Test with getNewlyOpenedFilterId first.";
    EXPECT_TRUE(mFilterCallbacks[filterId]) << "Test with getNewlyOpenedFilterId first.";
+1 −1
Original line number Diff line number Diff line
@@ -161,7 +161,7 @@ class FilterTests {
    AssertionResult configAvFilterStreamType(AvStreamType type, uint64_t filterId);
    AssertionResult configIpFilterCid(uint32_t ipCid, uint64_t filterId);
    AssertionResult configureMonitorEvent(uint64_t filterId, uint32_t monitorEventTypes);
    AssertionResult getFilterMQDescriptor(uint64_t filterId);
    AssertionResult getFilterMQDescriptor(uint64_t filterId, bool getMqDesc);
    AssertionResult startFilter(uint64_t filterId);
    AssertionResult stopFilter(uint64_t filterId);
    AssertionResult closeFilter(uint64_t filterId);
+28 −27
Original line number Diff line number Diff line
@@ -130,7 +130,7 @@ void FrontendCallback::scanTest(sp<IFrontend>& frontend, FrontendConfig config,
        return;
    }

    uint32_t targetFrequency = getTargetFrequency(config.settings, config.type);
    uint32_t targetFrequency = getTargetFrequency(config.settings);
    if (type == FrontendScanType::SCAN_BLIND) {
        // reset the frequency in the scan configuration to test blind scan. The settings param of
        // passed in means the real input config on the transponder connected to the DUT.
@@ -184,64 +184,59 @@ wait:
    mScanMsgProcessed = true;
}

uint32_t FrontendCallback::getTargetFrequency(FrontendSettings settings, FrontendType type) {
    switch (type) {
        case FrontendType::ANALOG:
uint32_t FrontendCallback::getTargetFrequency(FrontendSettings settings) {
    switch (settings.getDiscriminator()) {
        case FrontendSettings::hidl_discriminator::analog:
            return settings.analog().frequency;
        case FrontendType::ATSC:
        case FrontendSettings::hidl_discriminator::atsc:
            return settings.atsc().frequency;
        case FrontendType::ATSC3:
        case FrontendSettings::hidl_discriminator::atsc3:
            return settings.atsc3().frequency;
        case FrontendType::DVBC:
        case FrontendSettings::hidl_discriminator::dvbc:
            return settings.dvbc().frequency;
        case FrontendType::DVBS:
        case FrontendSettings::hidl_discriminator::dvbs:
            return settings.dvbs().frequency;
        case FrontendType::DVBT:
        case FrontendSettings::hidl_discriminator::dvbt:
            return settings.dvbt().frequency;
        case FrontendType::ISDBS:
        case FrontendSettings::hidl_discriminator::isdbs:
            return settings.isdbs().frequency;
        case FrontendType::ISDBS3:
        case FrontendSettings::hidl_discriminator::isdbs3:
            return settings.isdbs3().frequency;
        case FrontendType::ISDBT:
        case FrontendSettings::hidl_discriminator::isdbt:
            return settings.isdbt().frequency;
        default:
            return 0;
    }
}

void FrontendCallback::resetBlindScanStartingFrequency(FrontendConfig& config,
                                                       uint32_t resetingFreq) {
    switch (config.type) {
        case FrontendType::ANALOG:
    switch (config.settings.getDiscriminator()) {
        case FrontendSettings::hidl_discriminator::analog:
            config.settings.analog().frequency = resetingFreq;
            break;
        case FrontendType::ATSC:
        case FrontendSettings::hidl_discriminator::atsc:
            config.settings.atsc().frequency = resetingFreq;
            break;
        case FrontendType::ATSC3:
        case FrontendSettings::hidl_discriminator::atsc3:
            config.settings.atsc3().frequency = resetingFreq;
            break;
        case FrontendType::DVBC:
        case FrontendSettings::hidl_discriminator::dvbc:
            config.settings.dvbc().frequency = resetingFreq;
            break;
        case FrontendType::DVBS:
        case FrontendSettings::hidl_discriminator::dvbs:
            config.settings.dvbs().frequency = resetingFreq;
            break;
        case FrontendType::DVBT:
        case FrontendSettings::hidl_discriminator::dvbt:
            config.settings.dvbt().frequency = resetingFreq;
            break;
        case FrontendType::ISDBS:
        case FrontendSettings::hidl_discriminator::isdbs:
            config.settings.isdbs().frequency = resetingFreq;
            break;
        case FrontendType::ISDBS3:
        case FrontendSettings::hidl_discriminator::isdbs3:
            config.settings.isdbs3().frequency = resetingFreq;
            break;
        case FrontendType::ISDBT:
        case FrontendSettings::hidl_discriminator::isdbt:
            config.settings.isdbt().frequency = resetingFreq;
            break;
        default:
            // do nothing
            return;
    }
}

@@ -490,6 +485,9 @@ void FrontendTests::getFrontendIdByType(FrontendType feType, uint32_t& feId) {
}

void FrontendTests::tuneTest(FrontendConfig frontendConf) {
    if (!frontendConf.enable) {
        return;
    }
    uint32_t feId;
    getFrontendIdByType(frontendConf.type, feId);
    ASSERT_TRUE(feId != INVALID_ID);
@@ -506,6 +504,9 @@ void FrontendTests::tuneTest(FrontendConfig frontendConf) {
}

void FrontendTests::scanTest(FrontendConfig frontendConf, FrontendScanType scanType) {
    if (!frontendConf.enable) {
        return;
    }
    uint32_t feId;
    getFrontendIdByType(frontendConf.type, feId);
    ASSERT_TRUE(feId != INVALID_ID);
Loading