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

Commit 352df668 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Add filter linkage test to the Tuner VTS" into rvc-dev am: 738334a6

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

Change-Id: I7c439602f8cefee7f79ec9156fe35920137afc23
parents be86e171 738334a6
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -139,6 +139,8 @@ Return<void> Tuner::getDemuxCaps(getDemuxCaps_cb _hidl_cb) {

    DemuxCapabilities caps;

    // IP filter can be an MMTP filter's data source.
    caps.linkCaps = {0x00, 0x00, 0x02, 0x00, 0x00};
    _hidl_cb(Result::SUCCESS, caps);
    return Void();
}
+13 −0
Original line number Diff line number Diff line
@@ -33,6 +33,19 @@ AssertionResult DemuxTests::setDemuxFrontendDataSource(uint32_t frontendId) {
    return AssertionResult(status.isOk());
}

AssertionResult DemuxTests::getDemuxCaps(DemuxCapabilities& demuxCaps) {
    if (!mDemux) {
        ALOGW("[vts] Test with openDemux first.");
        return failure();
    }
    Result status;
    mService->getDemuxCaps([&](Result result, DemuxCapabilities caps) {
        status = result;
        demuxCaps = caps;
    });
    return AssertionResult(status == Result::SUCCESS);
}

AssertionResult DemuxTests::closeDemux() {
    EXPECT_TRUE(mDemux) << "Test with openDemux first.";
    auto status = mDemux->close();
+2 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@
using android::sp;
using android::hardware::Return;
using android::hardware::Void;
using android::hardware::tv::tuner::V1_0::DemuxCapabilities;
using android::hardware::tv::tuner::V1_0::IDemux;
using android::hardware::tv::tuner::V1_0::IFilter;
using android::hardware::tv::tuner::V1_0::ITuner;
@@ -45,6 +46,7 @@ class DemuxTests {
    AssertionResult setDemuxFrontendDataSource(uint32_t frontendId);
    void getAvSyncId(sp<IFilter> filter, uint32_t& avSyncHwId);
    void getAvSyncTime(uint32_t avSyncId);
    AssertionResult getDemuxCaps(DemuxCapabilities& demuxCaps);
    AssertionResult closeDemux();

  protected:
+20 −0
Original line number Diff line number Diff line
@@ -197,6 +197,26 @@ AssertionResult FilterTests::getFilterMQDescriptor(uint32_t filterId) {
    return AssertionResult(status == Result::SUCCESS);
}

AssertionResult FilterTests::setFilterDataSource(uint32_t sourceFilterId, uint32_t sinkFilterId) {
    if (!mFilters[sourceFilterId] || !mFilters[sinkFilterId]) {
        ALOGE("[vts] setFilterDataSource filter not opened.");
        return failure();
    }

    auto status = mFilters[sinkFilterId]->setDataSource(mFilters[sourceFilterId]);
    return AssertionResult(status == Result::SUCCESS);
}

AssertionResult FilterTests::setFilterDataSourceToDemux(uint32_t filterId) {
    if (!mFilters[filterId]) {
        ALOGE("[vts] setFilterDataSourceToDemux filter not opened.");
        return failure();
    }

    auto status = mFilters[filterId]->setDataSource(NULL);
    return AssertionResult(status == Result::SUCCESS);
}

AssertionResult FilterTests::startFilter(uint32_t filterId) {
    EXPECT_TRUE(mFilters[filterId]) << "Test with getNewlyOpenedFilterId first.";
    Result status = mFilters[filterId]->start();
+2 −0
Original line number Diff line number Diff line
@@ -154,6 +154,8 @@ class FilterTests {
    AssertionResult getNewlyOpenedFilterId(uint32_t& filterId);
    AssertionResult configFilter(DemuxFilterSettings setting, uint32_t filterId);
    AssertionResult getFilterMQDescriptor(uint32_t filterId);
    AssertionResult setFilterDataSource(uint32_t sourceFilterId, uint32_t sinkFilterId);
    AssertionResult setFilterDataSourceToDemux(uint32_t filterId);
    AssertionResult startFilter(uint32_t filterId);
    AssertionResult stopFilter(uint32_t filterId);
    AssertionResult closeFilter(uint32_t filterId);
Loading