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

Commit 94ff7d12 authored by Hongguang Chen's avatar Hongguang Chen Committed by Automerger Merge Worker
Browse files

Merge "Skip filter event test for passthrough filters" into...

Merge "Skip filter event test for passthrough filters" into android14-tests-dev am: 73a53868 am: 2a049145 am: 6a2f5953

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/3364028



Change-Id: I5ea94a9c8d1006acc974c296544123bef4072f6f
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 01bf1fa2 6a2f5953
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -100,7 +100,9 @@ void TunerFilterAidlTest::reconfigSingleFilterInDemuxTest(FilterConfig filterCon
    ASSERT_TRUE(mFilterTests.configFilter(filterReconf.settings, filterId));
    ASSERT_TRUE(mFilterTests.startFilter(filterId));
    ASSERT_TRUE(mFrontendTests.tuneFrontend(frontendConf, true /*testWithDemux*/));
    if (!isPassthroughFilter(filterReconf)) {
        ASSERT_TRUE(mFilterTests.startIdTest(filterId));
    }
    ASSERT_TRUE(mFrontendTests.stopTuneFrontend(true /*testWithDemux*/));
    ASSERT_TRUE(mFilterTests.stopFilter(filterId));
    ASSERT_TRUE(mFilterTests.closeFilter(filterId));
@@ -152,7 +154,9 @@ void TunerBroadcastAidlTest::broadcastSingleFilterTest(FilterConfig filterConf,
    ASSERT_TRUE(mFilterTests.startFilter(filterId));
    // tune test
    ASSERT_TRUE(mFrontendTests.tuneFrontend(frontendConf, true /*testWithDemux*/));
    if (!isPassthroughFilter(filterConf)) {
        ASSERT_TRUE(filterDataOutputTest());
    }
    ASSERT_TRUE(mFrontendTests.stopTuneFrontend(true /*testWithDemux*/));
    ASSERT_TRUE(mFilterTests.stopFilter(filterId));
    ASSERT_TRUE(mFilterTests.closeFilter(filterId));
@@ -210,7 +214,9 @@ void TunerBroadcastAidlTest::mediaFilterUsingSharedMemoryTest(FilterConfig filte
    ASSERT_TRUE(mFilterTests.startFilter(filterId));
    // tune test
    ASSERT_TRUE(mFrontendTests.tuneFrontend(frontendConf, true /*testWithDemux*/));
    if (!isPassthroughFilter(filterConf)) {
        ASSERT_TRUE(filterDataOutputTest());
    }
    ASSERT_TRUE(mFrontendTests.stopTuneFrontend(true /*testWithDemux*/));
    ASSERT_TRUE(mFilterTests.stopFilter(filterId));
    ASSERT_TRUE(mFilterTests.releaseShareAvHandle(filterId));
+22 −0
Original line number Diff line number Diff line
@@ -89,6 +89,28 @@ void clearIds() {
    sectionFilterIds.clear();
}

bool isPassthroughFilter(FilterConfig filterConfig) {
    auto type = filterConfig.type;
    if (type.mainType == DemuxFilterMainType::TS) {
        auto subType = type.subType.get<DemuxFilterSubType::Tag::tsFilterType>();
        if (subType == DemuxTsFilterType::AUDIO || subType == DemuxTsFilterType::VIDEO) {
            auto tsFilterSettings = filterConfig.settings.get<DemuxFilterSettings::Tag::ts>();
            auto avSettings = tsFilterSettings.filterSettings
                    .get<DemuxTsFilterSettingsFilterSettings::Tag::av>();
            return avSettings.isPassthrough;
        }
    } else if (filterConfig.type.mainType != DemuxFilterMainType::MMTP) {
        auto subType = type.subType.get<DemuxFilterSubType::Tag::mmtpFilterType>();
        if (subType == DemuxMmtpFilterType::AUDIO || subType == DemuxMmtpFilterType::VIDEO) {
            auto mmtpFilterSettings = filterConfig.settings.get<DemuxFilterSettings::Tag::mmtp>();
            auto avSettings = mmtpFilterSettings.filterSettings
                    .get<DemuxMmtpFilterSettingsFilterSettings::Tag::av>();
            return avSettings.isPassthrough;
        }
    }
    return false;
}

enum class Dataflow_Context { LNBRECORD, RECORD, DESCRAMBLING, LNBDESCRAMBLING };

class TunerLnbAidlTest : public testing::TestWithParam<std::string> {