mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
[RESTRICT AUTOMERGE] Add ISDBT and ISDBS support in the VTS
Currently, ISDB configuration isn't supported in config reader. Add it in this CL. Bug: 304857982 Test: atest VtsHalTvTunerV1_0TargetTest Change-Id: I21f53717ab157779d462ead34493169c2934fca7
This commit is contained in:
@@ -56,6 +56,17 @@ using android::hardware::tv::tuner::V1_0::FrontendDvbtPlpMode;
|
||||
using android::hardware::tv::tuner::V1_0::FrontendDvbtSettings;
|
||||
using android::hardware::tv::tuner::V1_0::FrontendDvbtStandard;
|
||||
using android::hardware::tv::tuner::V1_0::FrontendDvbtTransmissionMode;
|
||||
using android::hardware::tv::tuner::V1_0::FrontendIsdbsCoderate;
|
||||
using android::hardware::tv::tuner::V1_0::FrontendIsdbsModulation;
|
||||
using android::hardware::tv::tuner::V1_0::FrontendIsdbsRolloff;
|
||||
using android::hardware::tv::tuner::V1_0::FrontendIsdbsSettings;
|
||||
using android::hardware::tv::tuner::V1_0::FrontendIsdbsStreamIdType;
|
||||
using android::hardware::tv::tuner::V1_0::FrontendIsdbtBandwidth;
|
||||
using android::hardware::tv::tuner::V1_0::FrontendIsdbtCoderate;
|
||||
using android::hardware::tv::tuner::V1_0::FrontendIsdbtGuardInterval;
|
||||
using android::hardware::tv::tuner::V1_0::FrontendIsdbtMode;
|
||||
using android::hardware::tv::tuner::V1_0::FrontendIsdbtModulation;
|
||||
using android::hardware::tv::tuner::V1_0::FrontendIsdbtSettings;
|
||||
using android::hardware::tv::tuner::V1_0::FrontendSettings;
|
||||
using android::hardware::tv::tuner::V1_0::FrontendStatus;
|
||||
using android::hardware::tv::tuner::V1_0::FrontendStatusType;
|
||||
@@ -261,12 +272,14 @@ struct TunerTestingConfigReader1_0 {
|
||||
}
|
||||
case FrontendTypeEnum::ISDBS:
|
||||
type = FrontendType::ISDBS;
|
||||
frontendMap[id].settings.isdbs(readIsdbsFrontendSettings(feConfig));
|
||||
break;
|
||||
case FrontendTypeEnum::ISDBS3:
|
||||
type = FrontendType::ISDBS3;
|
||||
break;
|
||||
case FrontendTypeEnum::ISDBT:
|
||||
type = FrontendType::ISDBT;
|
||||
frontendMap[id].settings.isdbt(readIsdbtFrontendSettings(feConfig));
|
||||
break;
|
||||
case FrontendTypeEnum::DTMB:
|
||||
// dtmb will be handled in readFrontendConfig1_1;
|
||||
@@ -580,6 +593,46 @@ struct TunerTestingConfigReader1_0 {
|
||||
}
|
||||
|
||||
private:
|
||||
static FrontendIsdbtSettings readIsdbtFrontendSettings(Frontend feConfig) {
|
||||
ALOGW("[ConfigReader] fe type is isdbt");
|
||||
FrontendIsdbtSettings isdbtSettings{
|
||||
.frequency = (uint32_t)feConfig.getFrequency(),
|
||||
};
|
||||
if (!feConfig.hasIsdbtFrontendSettings_optional()) {
|
||||
ALOGW("[ConfigReader] no more isdbt settings");
|
||||
return isdbtSettings;
|
||||
}
|
||||
auto isdbt = feConfig.getFirstIsdbtFrontendSettings_optional();
|
||||
isdbtSettings.modulation = static_cast<FrontendIsdbtModulation>(isdbt->getModulation());
|
||||
isdbtSettings.bandwidth = static_cast<FrontendIsdbtBandwidth>(isdbt->getBandwidth());
|
||||
isdbtSettings.mode = static_cast<FrontendIsdbtMode>(isdbt->getMode());
|
||||
isdbtSettings.coderate = static_cast<FrontendIsdbtCoderate>(isdbt->getCoderate());
|
||||
isdbtSettings.guardInterval =
|
||||
static_cast<FrontendIsdbtGuardInterval>(isdbt->getGuardInterval());
|
||||
isdbtSettings.serviceAreaId = static_cast<uint32_t>(isdbt->getServiceAreaId());
|
||||
return isdbtSettings;
|
||||
}
|
||||
|
||||
static FrontendIsdbsSettings readIsdbsFrontendSettings(Frontend feConfig) {
|
||||
ALOGW("[ConfigReader] fe type is isdbs");
|
||||
FrontendIsdbsSettings isdbsSettings{
|
||||
.frequency = (uint32_t)feConfig.getFrequency(),
|
||||
};
|
||||
if (!feConfig.hasIsdbsFrontendSettings_optional()) {
|
||||
ALOGW("[ConfigReader] no more isdbs settings");
|
||||
return isdbsSettings;
|
||||
}
|
||||
auto isdbs = feConfig.getFirstIsdbsFrontendSettings_optional();
|
||||
isdbsSettings.streamId = static_cast<uint16_t>(isdbs->getStreamId());
|
||||
isdbsSettings.streamIdType =
|
||||
static_cast<FrontendIsdbsStreamIdType>(isdbs->getStreamIdType());
|
||||
isdbsSettings.modulation = static_cast<FrontendIsdbsModulation>(isdbs->getModulation());
|
||||
isdbsSettings.coderate = static_cast<FrontendIsdbsCoderate>(isdbs->getCoderate());
|
||||
isdbsSettings.symbolRate = static_cast<uint32_t>(isdbs->getSymbolRate());
|
||||
isdbsSettings.rolloff = static_cast<FrontendIsdbsRolloff>(isdbs->getRolloff());
|
||||
return isdbsSettings;
|
||||
}
|
||||
|
||||
static FrontendDvbtSettings readDvbtFrontendSettings(Frontend feConfig) {
|
||||
ALOGW("[ConfigReader] fe type is dvbt");
|
||||
FrontendDvbtSettings dvbtSettings{
|
||||
|
||||
@@ -311,6 +311,8 @@ 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 android.media.tuner.testing.configuration.V1_0.IsdbtFrontendSettings getIsdbtFrontendSettings_optional();
|
||||
method @Nullable public android.media.tuner.testing.configuration.V1_0.FrontendTypeEnum getType();
|
||||
method public void setConnectToCicamId(@Nullable java.math.BigInteger);
|
||||
method public void setDvbsFrontendSettings_optional(@Nullable android.media.tuner.testing.configuration.V1_0.DvbsFrontendSettings);
|
||||
@@ -319,6 +321,8 @@ 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 setIsdbtFrontendSettings_optional(@Nullable android.media.tuner.testing.configuration.V1_0.IsdbtFrontendSettings);
|
||||
method public void setType(@Nullable android.media.tuner.testing.configuration.V1_0.FrontendTypeEnum);
|
||||
}
|
||||
|
||||
@@ -414,6 +418,38 @@ 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 IsdbtFrontendSettings {
|
||||
ctor public IsdbtFrontendSettings();
|
||||
method @Nullable public java.math.BigInteger getBandwidth();
|
||||
method @Nullable public java.math.BigInteger getCoderate();
|
||||
method @Nullable public java.math.BigInteger getGuardInterval();
|
||||
method @Nullable public java.math.BigInteger getMode();
|
||||
method @Nullable public java.math.BigInteger getModulation();
|
||||
method @Nullable public java.math.BigInteger getServiceAreaId();
|
||||
method public void setBandwidth(@Nullable java.math.BigInteger);
|
||||
method public void setCoderate(@Nullable java.math.BigInteger);
|
||||
method public void setGuardInterval(@Nullable java.math.BigInteger);
|
||||
method public void setMode(@Nullable java.math.BigInteger);
|
||||
method public void setModulation(@Nullable java.math.BigInteger);
|
||||
method public void setServiceAreaId(@Nullable java.math.BigInteger);
|
||||
}
|
||||
|
||||
public class Lnb {
|
||||
ctor public Lnb();
|
||||
method @Nullable public String getId();
|
||||
|
||||
@@ -80,6 +80,22 @@
|
||||
<xs:attribute name="scanType" type="dvbsScanType" use="optional"/>
|
||||
<xs:attribute name="isDiseqcRxMessage" type="xs:boolean" use="optional"/>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="isdbsFrontendSettings">
|
||||
<xs:attribute name="streamId" type="xs:nonNegativeInteger" use="required"/>
|
||||
<xs:attribute name="symbolRate" type="xs:nonNegativeInteger" use="required"/>
|
||||
<xs:attribute name="streamIdType" type="xs:nonNegativeInteger" use="required"/>
|
||||
<xs:attribute name="modulation" type="xs:nonNegativeInteger" use="required"/>
|
||||
<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="modulation" 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="coderate" type="xs:nonNegativeInteger" use="required"/>
|
||||
<xs:attribute name="guardInterval" type="xs:nonNegativeInteger" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="frontend">
|
||||
<xs:annotation>
|
||||
@@ -113,10 +129,10 @@
|
||||
<xs:element name="dvbc" type="dvbcSettings"/-->
|
||||
<xs:element name="dvbsFrontendSettings" type="dvbsFrontendSettings"/>
|
||||
<xs:element name="dvbtFrontendSettings" type="dvbtFrontendSettings"/>
|
||||
<!--xs:element name="isdbs" type="isdbsSettings"/>
|
||||
<xs:element name="isdbs3" type="isdbs3Settings"/>
|
||||
<xs:element name="isdbt" type="isdbtSettings"/>
|
||||
<xs:element name="dtmb" type="dtmbSettings"/-->
|
||||
<xs:element name="isdbsFrontendSettings" type="isdbsFrontendSettings"/>
|
||||
<!--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"/>
|
||||
|
||||
Reference in New Issue
Block a user