ISDB-T Multi-Layer Backward Compatible.
*) Query modulation and codeRate from AIDL Layer Settings.
*) Set Capabilities default values.
Bug: 171537116
Test: atest VtsHalTvTunerTargetTest
Test: atest android.media.tv.tuner.cts on AIDL and HAL HALs
Change-Id: Ic2792fb0152c5c1c321033ba7777fe76fe48301a
diff --git a/services/tuner/hidl/TunerHidlFrontend.cpp b/services/tuner/hidl/TunerHidlFrontend.cpp
index bbfc90f..1f28406 100644
--- a/services/tuner/hidl/TunerHidlFrontend.cpp
+++ b/services/tuner/hidl/TunerHidlFrontend.cpp
@@ -1158,12 +1158,19 @@
}
case FrontendSettings::isdbt: {
const FrontendIsdbtSettings& isdbt = aidlSettings.get<FrontendSettings::isdbt>();
+ HidlFrontendIsdbtModulation modulation = HidlFrontendIsdbtModulation::UNDEFINED;
+ HidlFrontendIsdbtCoderate coderate = HidlFrontendIsdbtCoderate::UNDEFINED;
+ if (isdbt.layerSettings.size() > 0) {
+ modulation =
+ static_cast<HidlFrontendIsdbtModulation>(isdbt.layerSettings[0].modulation);
+ coderate = static_cast<HidlFrontendIsdbtCoderate>(isdbt.layerSettings[0].coderate);
+ }
settings.isdbt({
.frequency = static_cast<uint32_t>(isdbt.frequency),
- .modulation = static_cast<HidlFrontendIsdbtModulation>(isdbt.modulation),
+ .modulation = modulation,
.bandwidth = static_cast<HidlFrontendIsdbtBandwidth>(isdbt.bandwidth),
.mode = static_cast<HidlFrontendIsdbtMode>(isdbt.mode),
- .coderate = static_cast<HidlFrontendIsdbtCoderate>(isdbt.coderate),
+ .coderate = coderate,
.guardInterval = static_cast<HidlFrontendIsdbtGuardInterval>(isdbt.guardInterval),
.serviceAreaId = static_cast<uint32_t>(isdbt.serviceAreaId),
});