Merge "vts: Added support for ISDBT Frontend types"
This commit is contained in:
commit
7fc81c5c2c
3 changed files with 89 additions and 3 deletions
|
@ -294,6 +294,8 @@ struct TunerTestingConfigAidlReader1_0 {
|
|||
break;
|
||||
case FrontendTypeEnum::ISDBT:
|
||||
type = FrontendType::ISDBT;
|
||||
frontendMap[id].settings.set<FrontendSettings::Tag::isdbt>(
|
||||
readIsdbtFrontendSettings(feConfig));
|
||||
break;
|
||||
case FrontendTypeEnum::DTMB:
|
||||
type = FrontendType::DTMB;
|
||||
|
@ -735,6 +737,43 @@ struct TunerTestingConfigAidlReader1_0 {
|
|||
return isdbsSettings;
|
||||
}
|
||||
|
||||
static FrontendIsdbtSettings readIsdbtFrontendSettings(Frontend& feConfig) {
|
||||
ALOGW("[ConfigReader] fe type is isdbt");
|
||||
FrontendIsdbtSettings isdbtSettings{
|
||||
.frequency = (int64_t)feConfig.getFrequency(),
|
||||
};
|
||||
if (feConfig.hasEndFrequency()) {
|
||||
isdbtSettings.endFrequency = (int64_t)feConfig.getEndFrequency();
|
||||
}
|
||||
if (!feConfig.hasIsdbtFrontendSettings_optional()) {
|
||||
ALOGW("[ConfigReader] no more isdbt settings");
|
||||
return isdbtSettings;
|
||||
}
|
||||
auto isdbt = feConfig.getFirstIsdbtFrontendSettings_optional();
|
||||
isdbtSettings.inversion = static_cast<FrontendSpectralInversion>(isdbt->getInversion());
|
||||
isdbtSettings.bandwidth = static_cast<FrontendIsdbtBandwidth>(isdbt->getBandwidth());
|
||||
isdbtSettings.mode = static_cast<FrontendIsdbtMode>(isdbt->getMode());
|
||||
isdbtSettings.guardInterval =
|
||||
static_cast<FrontendIsdbtGuardInterval>(isdbt->getGuardInterval());
|
||||
isdbtSettings.serviceAreaId = (int32_t)isdbt->getServiceAreaId();
|
||||
isdbtSettings.partialReceptionFlag =
|
||||
static_cast<FrontendIsdbtPartialReceptionFlag>(isdbt->getPartialReceptionFlag());
|
||||
if (!isdbt->hasFrontendIsdbtLayerSettings()) {
|
||||
ALOGW("[ConfigReader] no isdbt layer settings");
|
||||
return isdbtSettings;
|
||||
}
|
||||
auto layerSettings = isdbt->getFirstFrontendIsdbtLayerSettings();
|
||||
::aidl::android::hardware::tv::tuner::FrontendIsdbtLayerSettings mLayerSettings;
|
||||
mLayerSettings.modulation =
|
||||
static_cast<FrontendIsdbtModulation>(layerSettings->getModulation());
|
||||
mLayerSettings.coderate = static_cast<FrontendIsdbtCoderate>(layerSettings->getCoderate());
|
||||
mLayerSettings.timeInterleave =
|
||||
static_cast<FrontendIsdbtTimeInterleaveMode>(layerSettings->getTimeInterleave());
|
||||
mLayerSettings.numOfSegment = (int32_t)layerSettings->getNumOfSegment();
|
||||
isdbtSettings.layerSettings.push_back(mLayerSettings);
|
||||
return isdbtSettings;
|
||||
}
|
||||
|
||||
static bool readFilterTypeAndSettings(Filter filterConfig, DemuxFilterType& type,
|
||||
DemuxFilterSettings& settings) {
|
||||
auto mainType = filterConfig.getMainType();
|
||||
|
|
|
@ -327,6 +327,7 @@ package android.media.tuner.testing.configuration.V1_0 {
|
|||
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 android.media.tuner.testing.configuration.V1_0.IsdbtFrontendSettings getIsdbtFrontendSettings_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);
|
||||
|
@ -338,10 +339,23 @@ package android.media.tuner.testing.configuration.V1_0 {
|
|||
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 setIsdbtFrontendSettings_optional(@Nullable android.media.tuner.testing.configuration.V1_0.IsdbtFrontendSettings);
|
||||
method public void setRemoveOutputPid(@Nullable java.math.BigInteger);
|
||||
method public void setType(@Nullable android.media.tuner.testing.configuration.V1_0.FrontendTypeEnum);
|
||||
}
|
||||
|
||||
public class FrontendIsdbtLayerSettings {
|
||||
ctor public FrontendIsdbtLayerSettings();
|
||||
method @Nullable public java.math.BigInteger getCoderate();
|
||||
method @Nullable public java.math.BigInteger getModulation();
|
||||
method @Nullable public java.math.BigInteger getNumOfSegment();
|
||||
method @Nullable public java.math.BigInteger getTimeInterleave();
|
||||
method public void setCoderate(@Nullable java.math.BigInteger);
|
||||
method public void setModulation(@Nullable java.math.BigInteger);
|
||||
method public void setNumOfSegment(@Nullable java.math.BigInteger);
|
||||
method public void setTimeInterleave(@Nullable java.math.BigInteger);
|
||||
}
|
||||
|
||||
public enum FrontendTypeEnum {
|
||||
method @NonNull public String getRawName();
|
||||
enum_constant public static final android.media.tuner.testing.configuration.V1_0.FrontendTypeEnum ANALOG;
|
||||
|
@ -450,6 +464,24 @@ package android.media.tuner.testing.configuration.V1_0 {
|
|||
method public void setSymbolRate(@Nullable java.math.BigInteger);
|
||||
}
|
||||
|
||||
public class IsdbtFrontendSettings {
|
||||
ctor public IsdbtFrontendSettings();
|
||||
method @Nullable public java.math.BigInteger getBandwidth();
|
||||
method @Nullable public android.media.tuner.testing.configuration.V1_0.FrontendIsdbtLayerSettings getFrontendIsdbtLayerSettings();
|
||||
method @Nullable public java.math.BigInteger getGuardInterval();
|
||||
method @Nullable public java.math.BigInteger getInversion();
|
||||
method @Nullable public java.math.BigInteger getMode();
|
||||
method @Nullable public java.math.BigInteger getPartialReceptionFlag();
|
||||
method @Nullable public java.math.BigInteger getServiceAreaId();
|
||||
method public void setBandwidth(@Nullable java.math.BigInteger);
|
||||
method public void setFrontendIsdbtLayerSettings(@Nullable android.media.tuner.testing.configuration.V1_0.FrontendIsdbtLayerSettings);
|
||||
method public void setGuardInterval(@Nullable java.math.BigInteger);
|
||||
method public void setInversion(@Nullable java.math.BigInteger);
|
||||
method public void setMode(@Nullable java.math.BigInteger);
|
||||
method public void setPartialReceptionFlag(@Nullable java.math.BigInteger);
|
||||
method public void setServiceAreaId(@Nullable java.math.BigInteger);
|
||||
}
|
||||
|
||||
public class Lnb {
|
||||
ctor public Lnb();
|
||||
method @Nullable public String getId();
|
||||
|
|
|
@ -92,6 +92,21 @@
|
|||
<xs:attribute name="coderate" type="xs:nonNegativeInteger" use="required"/>
|
||||
<xs:attribute name="rolloff" type="xs:nonNegativeInteger" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="isdbtFrontendSettings">
|
||||
<xs:attribute name="serviceAreaId" type="xs:nonNegativeInteger" use="required"/>
|
||||
<xs:attribute name="inversion" type="xs:nonNegativeInteger" use="required"/>
|
||||
<xs:attribute name="bandwidth" type="xs:nonNegativeInteger" use="required"/>
|
||||
<xs:attribute name="mode" type="xs:nonNegativeInteger" use="required"/>
|
||||
<xs:attribute name="guardInterval" type="xs:nonNegativeInteger" use="required"/>
|
||||
<xs:attribute name="partialReceptionFlag" type="xs:nonNegativeInteger" use="required"/>
|
||||
<xs:element name="FrontendIsdbtLayerSettings" type="FrontendIsdbtLayerSettings"/>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="FrontendIsdbtLayerSettings">
|
||||
<xs:attribute name="modulation" type="xs:nonNegativeInteger" use="required"/>
|
||||
<xs:attribute name="coderate" type="xs:nonNegativeInteger" use="required"/>
|
||||
<xs:attribute name="timeInterleave" type="xs:nonNegativeInteger" use="required"/>
|
||||
<xs:attribute name="numOfSegment" type="xs:nonNegativeInteger" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="frontend">
|
||||
<xs:annotation>
|
||||
|
@ -128,9 +143,9 @@
|
|||
<xs:element name="dvbsFrontendSettings" type="dvbsFrontendSettings"/>
|
||||
<xs:element name="dvbtFrontendSettings" type="dvbtFrontendSettings"/>
|
||||
<xs:element name="isdbsFrontendSettings" type="isdbsFrontendSettings"/>
|
||||
<!--xs:element name="isdbs3" type="isdbs3Settings"/>
|
||||
<xs:element name="isdbt" type="isdbtSettings"/>
|
||||
<xs:element name="dtmb" type="dtmbSettings"/-->
|
||||
<!--xs:element name="isdbs3" type="isdbs3Settings"/-->
|
||||
<xs:element name="isdbtFrontendSettings" type="isdbtFrontendSettings"/>
|
||||
<!--xs:element name="dtmb" type="dtmbSettings"/-->
|
||||
</xs:choice>
|
||||
<xs:attribute name="id" type="frontendId" use="required"/>
|
||||
<xs:attribute name="type" type="frontendTypeEnum" use="required"/>
|
||||
|
|
Loading…
Reference in a new issue