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

Commit ce1e30d5 authored by Hongguang's avatar Hongguang
Browse files

Update tuner default implementation and VTS.

*) DemuxFilterTypeDemuxFilterSubType -> DemuxFilterSubType.

Bug: 191825295
Test: make and run VtsHalTvTunerTargetTest
Change-Id: I9069ff91d35b58ee1db4297f888ef241cdfbc135
parent e24a0dce
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -46,29 +46,29 @@ Filter::Filter(DemuxFilterType type, int64_t filterId, uint32_t bufferSize,

    switch (mType.mainType) {
        case DemuxFilterMainType::TS:
            if (mType.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>() ==
            if (mType.subType.get<DemuxFilterSubType::Tag::tsFilterType>() ==
                        DemuxTsFilterType::AUDIO ||
                mType.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>() ==
                mType.subType.get<DemuxFilterSubType::Tag::tsFilterType>() ==
                        DemuxTsFilterType::VIDEO) {
                mIsMediaFilter = true;
            }
            if (mType.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>() ==
            if (mType.subType.get<DemuxFilterSubType::Tag::tsFilterType>() ==
                DemuxTsFilterType::PCR) {
                mIsPcrFilter = true;
            }
            if (mType.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>() ==
            if (mType.subType.get<DemuxFilterSubType::Tag::tsFilterType>() ==
                DemuxTsFilterType::RECORD) {
                mIsRecordFilter = true;
            }
            break;
        case DemuxFilterMainType::MMTP:
            if (mType.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>() ==
            if (mType.subType.get<DemuxFilterSubType::Tag::mmtpFilterType>() ==
                        DemuxMmtpFilterType::AUDIO ||
                mType.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>() ==
                mType.subType.get<DemuxFilterSubType::Tag::mmtpFilterType>() ==
                        DemuxMmtpFilterType::VIDEO) {
                mIsMediaFilter = true;
            }
            if (mType.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>() ==
            if (mType.subType.get<DemuxFilterSubType::Tag::mmtpFilterType>() ==
                DemuxMmtpFilterType::RECORD) {
                mIsRecordFilter = true;
            }
@@ -538,7 +538,7 @@ void Filter::updateRecordOutput(vector<int8_t> data) {
    std::lock_guard<std::mutex> lock(mFilterOutputLock);
    switch (mType.mainType) {
        case DemuxFilterMainType::TS:
            switch (mType.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>()) {
            switch (mType.subType.get<DemuxFilterSubType::Tag::tsFilterType>()) {
                case DemuxTsFilterType::UNDEFINED:
                    break;
                case DemuxTsFilterType::SECTION:
+4 −4
Original line number Diff line number Diff line
@@ -175,9 +175,9 @@ AssertionResult DescramblerTests::getDemuxPidFromFilterSettings(DemuxFilterType
                                                                DemuxPid& pid) {
    switch (type.mainType) {
        case DemuxFilterMainType::TS:
            if (type.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>() ==
            if (type.subType.get<DemuxFilterSubType::Tag::tsFilterType>() ==
                        DemuxTsFilterType::AUDIO ||
                type.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>() ==
                type.subType.get<DemuxFilterSubType::Tag::tsFilterType>() ==
                        DemuxTsFilterType::VIDEO) {
                pid.set<DemuxPid::Tag::tPid>(settings.get<DemuxFilterSettings::Tag::ts>().tpid);
            } else {
@@ -186,9 +186,9 @@ AssertionResult DescramblerTests::getDemuxPidFromFilterSettings(DemuxFilterType
            }
            break;
        case DemuxFilterMainType::MMTP:
            if (type.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>() ==
            if (type.subType.get<DemuxFilterSubType::Tag::mmtpFilterType>() ==
                        DemuxMmtpFilterType::AUDIO ||
                type.subType.get<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>() ==
                type.subType.get<DemuxFilterSubType::Tag::mmtpFilterType>() ==
                        DemuxMmtpFilterType::VIDEO) {
                pid.set<DemuxPid::Tag::mmtpPid>(
                        settings.get<DemuxFilterSettings::Tag::mmtp>().mmtpPid);
+5 −5
Original line number Diff line number Diff line
@@ -146,23 +146,23 @@ class TunerFilterAidlTest : public testing::TestWithParam<std::string> {
        type.mainType = static_cast<DemuxFilterMainType>(1 << bit);
        switch (type.mainType) {
            case DemuxFilterMainType::TS:
                type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
                type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
                        DemuxTsFilterType::UNDEFINED);
                break;
            case DemuxFilterMainType::MMTP:
                type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>(
                type.subType.set<DemuxFilterSubType::Tag::mmtpFilterType>(
                        DemuxMmtpFilterType::UNDEFINED);
                break;
            case DemuxFilterMainType::IP:
                type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::ipFilterType>(
                type.subType.set<DemuxFilterSubType::Tag::ipFilterType>(
                        DemuxIpFilterType::UNDEFINED);
                break;
            case DemuxFilterMainType::TLV:
                type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tlvFilterType>(
                type.subType.set<DemuxFilterSubType::Tag::tlvFilterType>(
                        DemuxTlvFilterType::UNDEFINED);
                break;
            case DemuxFilterMainType::ALP:
                type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::alpFilterType>(
                type.subType.set<DemuxFilterSubType::Tag::alpFilterType>(
                        DemuxAlpFilterType::UNDEFINED);
                break;
            default:
+4 −6
Original line number Diff line number Diff line
@@ -119,8 +119,7 @@ inline void initFilterConfig() {
    string defaultVideoFilterId = "FILTER_VIDEO_DEFAULT";

    filterMap[defaultVideoFilterId].type.mainType = DemuxFilterMainType::TS;
    filterMap[defaultVideoFilterId]
            .type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
    filterMap[defaultVideoFilterId].type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
            DemuxTsFilterType::VIDEO);
    filterMap[defaultVideoFilterId].bufferSize = FMQ_SIZE_16M;
    filterMap[defaultVideoFilterId].settings =
@@ -138,8 +137,7 @@ inline void initFilterConfig() {
            VideoStreamType::MPEG1);

    filterMap[defaultAudioFilterId].type.mainType = DemuxFilterMainType::TS;
    filterMap[defaultAudioFilterId]
            .type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
    filterMap[defaultAudioFilterId].type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
            DemuxTsFilterType::AUDIO);
    filterMap[defaultAudioFilterId].bufferSize = FMQ_SIZE_16M;
    filterMap[defaultAudioFilterId].settings =
+22 −22
Original line number Diff line number Diff line
@@ -689,11 +689,11 @@ struct TunerTestingConfigAidlReader1_0 {
                bool isTsSet = false;
                switch (subType) {
                    case FilterSubTypeEnum::UNDEFINED:
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
                                DemuxTsFilterType::UNDEFINED);
                        break;
                    case FilterSubTypeEnum::SECTION:
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
                                DemuxTsFilterType::SECTION);
                        ts.filterSettings.set<DemuxTsFilterSettingsFilterSettings::Tag::section>(
                                readSectionFilterSettings(filterConfig));
@@ -701,46 +701,46 @@ struct TunerTestingConfigAidlReader1_0 {
                        break;
                    case FilterSubTypeEnum::PES:
                        // TODO: b/182519645 support all the filter settings
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
                                DemuxTsFilterType::PES);
                        break;
                    case FilterSubTypeEnum::TS:
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
                                DemuxTsFilterType::TS);
                        ts.filterSettings.set<DemuxTsFilterSettingsFilterSettings::Tag::noinit>(
                                true);
                        isTsSet = true;
                        break;
                    case FilterSubTypeEnum::PCR:
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
                                DemuxTsFilterType::PCR);
                        ts.filterSettings.set<DemuxTsFilterSettingsFilterSettings::Tag::noinit>(
                                true);
                        isTsSet = true;
                        break;
                    case FilterSubTypeEnum::TEMI:
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
                                DemuxTsFilterType::TEMI);
                        ts.filterSettings.set<DemuxTsFilterSettingsFilterSettings::Tag::noinit>(
                                true);
                        isTsSet = true;
                        break;
                    case FilterSubTypeEnum::AUDIO:
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
                                DemuxTsFilterType::AUDIO);
                        ts.filterSettings.set<DemuxTsFilterSettingsFilterSettings::Tag::av>(
                                readAvFilterSettings(filterConfig));
                        isTsSet = true;
                        break;
                    case FilterSubTypeEnum::VIDEO:
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
                                DemuxTsFilterType::VIDEO);
                        ts.filterSettings.set<DemuxTsFilterSettingsFilterSettings::Tag::av>(
                                readAvFilterSettings(filterConfig));
                        isTsSet = true;
                        break;
                    case FilterSubTypeEnum::RECORD:
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::tsFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::tsFilterType>(
                                DemuxTsFilterType::RECORD);
                        ts.filterSettings.set<DemuxTsFilterSettingsFilterSettings::Tag::record>(
                                readRecordFilterSettings(filterConfig));
@@ -766,11 +766,11 @@ struct TunerTestingConfigAidlReader1_0 {
                bool isMmtpSet = false;
                switch (subType) {
                    case FilterSubTypeEnum::UNDEFINED:
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::mmtpFilterType>(
                                DemuxMmtpFilterType::UNDEFINED);
                        break;
                    case FilterSubTypeEnum::SECTION:
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::mmtpFilterType>(
                                DemuxMmtpFilterType::SECTION);
                        mmtp.filterSettings
                                .set<DemuxMmtpFilterSettingsFilterSettings::Tag::section>(
@@ -778,40 +778,40 @@ struct TunerTestingConfigAidlReader1_0 {
                        isMmtpSet = true;
                        break;
                    case FilterSubTypeEnum::PES:
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::mmtpFilterType>(
                                DemuxMmtpFilterType::PES);
                        // TODO: b/182519645 support all the filter settings
                        break;
                    case FilterSubTypeEnum::MMTP:
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::mmtpFilterType>(
                                DemuxMmtpFilterType::MMTP);
                        mmtp.filterSettings.set<DemuxMmtpFilterSettingsFilterSettings::Tag::noinit>(
                                true);
                        isMmtpSet = true;
                        break;
                    case FilterSubTypeEnum::AUDIO:
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::mmtpFilterType>(
                                DemuxMmtpFilterType::AUDIO);
                        mmtp.filterSettings.set<DemuxMmtpFilterSettingsFilterSettings::Tag::av>(
                                readAvFilterSettings(filterConfig));
                        isMmtpSet = true;
                        break;
                    case FilterSubTypeEnum::VIDEO:
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::mmtpFilterType>(
                                DemuxMmtpFilterType::VIDEO);
                        mmtp.filterSettings.set<DemuxMmtpFilterSettingsFilterSettings::Tag::av>(
                                readAvFilterSettings(filterConfig));
                        isMmtpSet = true;
                        break;
                    case FilterSubTypeEnum::RECORD:
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::mmtpFilterType>(
                                DemuxMmtpFilterType::RECORD);
                        mmtp.filterSettings.set<DemuxMmtpFilterSettingsFilterSettings::Tag::record>(
                                readRecordFilterSettings(filterConfig));
                        isMmtpSet = true;
                        break;
                    case FilterSubTypeEnum::DOWNLOAD:
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::mmtpFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::mmtpFilterType>(
                                DemuxMmtpFilterType::DOWNLOAD);
                        // TODO: b/182519645 support all the filter settings
                        break;
@@ -834,18 +834,18 @@ struct TunerTestingConfigAidlReader1_0 {
                DemuxIpFilterSettings ip;
                switch (subType) {
                    case FilterSubTypeEnum::UNDEFINED:
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::ipFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::ipFilterType>(
                                DemuxIpFilterType::UNDEFINED);
                        break;
                    case FilterSubTypeEnum::SECTION:
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::ipFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::ipFilterType>(
                                DemuxIpFilterType::SECTION);
                        ip.filterSettings.set<DemuxIpFilterSettingsFilterSettings::Tag::section>(
                                readSectionFilterSettings(filterConfig));
                        settings.set<DemuxFilterSettings::Tag::ip>(ip);
                        break;
                    case FilterSubTypeEnum::NTP:
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::ipFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::ipFilterType>(
                                DemuxIpFilterType::NTP);
                        ip.filterSettings.set<DemuxIpFilterSettingsFilterSettings::Tag::noinit>(
                                true);
@@ -860,14 +860,14 @@ struct TunerTestingConfigAidlReader1_0 {
                        break;
                    }
                    case FilterSubTypeEnum::IP_PAYLOAD:
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::ipFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::ipFilterType>(
                                DemuxIpFilterType::IP_PAYLOAD);
                        ip.filterSettings.set<DemuxIpFilterSettingsFilterSettings::Tag::noinit>(
                                true);
                        settings.set<DemuxFilterSettings::Tag::ip>(ip);
                        break;
                    case FilterSubTypeEnum::PAYLOAD_THROUGH:
                        type.subType.set<DemuxFilterTypeDemuxFilterSubType::Tag::ipFilterType>(
                        type.subType.set<DemuxFilterSubType::Tag::ipFilterType>(
                                DemuxIpFilterType::PAYLOAD_THROUGH);
                        ip.filterSettings.set<DemuxIpFilterSettingsFilterSettings::Tag::noinit>(
                                true);