diff --git a/tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h b/tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h index caf631c68d..e0118cd6fb 100644 --- a/tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h +++ b/tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h @@ -286,6 +286,9 @@ struct TunerTestingConfigAidlReader1_0 { } case FrontendTypeEnum::ISDBS: type = FrontendType::ISDBS; + frontendMap[id].settings.set< + FrontendSettings::Tag::isdbs>( + readIsdbsFrontendSettings(feConfig)); break; case FrontendTypeEnum::ISDBS3: type = FrontendType::ISDBS3; @@ -695,23 +698,49 @@ struct TunerTestingConfigAidlReader1_0 { } static FrontendAtscSettings readAtscFrontendSettings(Frontend& feConfig) { - ALOGW("[ConfigReader] fe type is atsc"); - FrontendAtscSettings atscSettings{ - .frequency = (int64_t)feConfig.getFrequency(), - }; - if (feConfig.hasEndFrequency()) { - atscSettings.endFrequency = (int64_t)feConfig.getEndFrequency(); - } - if (!feConfig.hasAtscFrontendSettings_optional()) { - ALOGW("[ConfigReader] no more atsc settings"); - return atscSettings; - } - auto atsc = feConfig.getFirstAtscFrontendSettings_optional(); - atscSettings.inversion = static_cast( - atsc->getInversion()); - atscSettings.modulation = static_cast( - atsc->getModulation()); + ALOGW("[ConfigReader] fe type is atsc"); + FrontendAtscSettings atscSettings{ + .frequency = (int64_t) feConfig.getFrequency(), + }; + if (feConfig.hasEndFrequency()) { + atscSettings.endFrequency = (int64_t) feConfig.getEndFrequency(); + } + if (!feConfig.hasAtscFrontendSettings_optional()) { + ALOGW("[ConfigReader] no more atsc settings"); return atscSettings; + } + auto atsc = feConfig.getFirstAtscFrontendSettings_optional(); + atscSettings.inversion = static_cast( + atsc->getInversion()); + atscSettings.modulation = static_cast( + atsc->getModulation()); + return atscSettings; + } + + static FrontendIsdbsSettings readIsdbsFrontendSettings(Frontend &feConfig) { + ALOGW("[ConfigReader] fe type is isdbs"); + FrontendIsdbsSettings isdbsSettings{ + .frequency = (int64_t)feConfig.getFrequency() + }; + if (feConfig.hasEndFrequency()) { + isdbsSettings.endFrequency = (int64_t)feConfig.getEndFrequency(); + } + if (!feConfig.hasIsdbsFrontendSettings_optional()) { + ALOGW("[ConfigReader] no more isdbs settings"); + return isdbsSettings; + } + auto isdbs = feConfig.getFirstIsdbsFrontendSettings_optional(); + isdbsSettings.streamId = (int32_t)isdbs->getStreamId(); + isdbsSettings.symbolRate = (int32_t)isdbs->getSymbolRate(); + isdbsSettings.modulation = static_cast( + isdbs->getModulation()); + isdbsSettings.coderate = static_cast( + isdbs->getCoderate()); + isdbsSettings.rolloff = static_cast( + isdbs->getRolloff()); + isdbsSettings.streamIdType = static_cast( + isdbs->getStreamIdType()); + return isdbsSettings; } static bool readFilterTypeAndSettings(Filter filterConfig, DemuxFilterType& type, diff --git a/tv/tuner/config/api/current.txt b/tv/tuner/config/api/current.txt index 88576bb46f..aa7b88c249 100644 --- a/tv/tuner/config/api/current.txt +++ b/tv/tuner/config/api/current.txt @@ -326,6 +326,7 @@ package android.media.tuner.testing.configuration.V1_0 { method @Nullable public java.math.BigInteger getFrequency(); method @Nullable public String getId(); method @Nullable public boolean getIsSoftwareFrontend(); + method @Nullable public android.media.tuner.testing.configuration.V1_0.IsdbsFrontendSettings getIsdbsFrontendSettings_optional(); method @Nullable public java.math.BigInteger getRemoveOutputPid(); method @Nullable public android.media.tuner.testing.configuration.V1_0.FrontendTypeEnum getType(); method public void setAtscFrontendSettings_optional(@Nullable android.media.tuner.testing.configuration.V1_0.AtscFrontendSettings); @@ -336,6 +337,7 @@ package android.media.tuner.testing.configuration.V1_0 { method public void setFrequency(@Nullable java.math.BigInteger); method public void setId(@Nullable String); method public void setIsSoftwareFrontend(@Nullable boolean); + method public void setIsdbsFrontendSettings_optional(@Nullable android.media.tuner.testing.configuration.V1_0.IsdbsFrontendSettings); method public void setRemoveOutputPid(@Nullable java.math.BigInteger); method public void setType(@Nullable android.media.tuner.testing.configuration.V1_0.FrontendTypeEnum); } @@ -432,6 +434,22 @@ package android.media.tuner.testing.configuration.V1_0 { method public void setSrcPort(@Nullable long); } + public class IsdbsFrontendSettings { + ctor public IsdbsFrontendSettings(); + method @Nullable public java.math.BigInteger getCoderate(); + method @Nullable public java.math.BigInteger getModulation(); + method @Nullable public java.math.BigInteger getRolloff(); + method @Nullable public java.math.BigInteger getStreamId(); + method @Nullable public java.math.BigInteger getStreamIdType(); + method @Nullable public java.math.BigInteger getSymbolRate(); + method public void setCoderate(@Nullable java.math.BigInteger); + method public void setModulation(@Nullable java.math.BigInteger); + method public void setRolloff(@Nullable java.math.BigInteger); + method public void setStreamId(@Nullable java.math.BigInteger); + method public void setStreamIdType(@Nullable java.math.BigInteger); + method public void setSymbolRate(@Nullable java.math.BigInteger); + } + public class Lnb { ctor public Lnb(); method @Nullable public String getId(); diff --git a/tv/tuner/config/tuner_testing_dynamic_configuration.xsd b/tv/tuner/config/tuner_testing_dynamic_configuration.xsd index bbb514922b..282433e741 100644 --- a/tv/tuner/config/tuner_testing_dynamic_configuration.xsd +++ b/tv/tuner/config/tuner_testing_dynamic_configuration.xsd @@ -84,6 +84,14 @@ + + + + + + + + @@ -119,8 +127,8 @@ -