Allow users to switch between FE source and DVR source when testing
record/descrambling/broadcast
Test: atest VtsHalTvTunerV1_0TargetTest
Test: atest VtsHalTvTunerV1_1TargetTest
Bug: 182519645
CTS-Coverage-Bug: 184077478
Change-Id: I6c57657ac3539d6a6fb3f63d2ecc9af7f6b9e2dc
Merged-In: I6c57657ac3539d6a6fb3f63d2ecc9af7f6b9e2dc
diff --git a/tv/tuner/config/TunerTestingConfigReader.h b/tv/tuner/config/TunerTestingConfigReader.h
index 90499c4..7971fd2 100644
--- a/tv/tuner/config/TunerTestingConfigReader.h
+++ b/tv/tuner/config/TunerTestingConfigReader.h
@@ -120,6 +120,7 @@
};
struct LiveBroadcastHardwareConnections {
+ bool hasFrontendConnection;
string frontendId;
string dvrSoftwareFeId;
string audioFilterId;
@@ -130,6 +131,7 @@
};
struct ScanHardwareConnections {
+ bool hasFrontendConnection;
string frontendId;
};
@@ -145,19 +147,23 @@
struct DvrRecordHardwareConnections {
bool support;
+ bool hasFrontendConnection;
string frontendId;
string dvrRecordId;
string dvrSoftwareFeId;
string recordFilterId;
+ string dvrSourceId;
};
struct DescramblingHardwareConnections {
bool support;
+ bool hasFrontendConnection;
string frontendId;
string dvrSoftwareFeId;
string audioFilterId;
string videoFilterId;
string descramblerId;
+ string dvrSourceId;
/* list string of extra filters; */
};
@@ -395,7 +401,14 @@
}
static void connectLiveBroadcast(LiveBroadcastHardwareConnections& live) {
- auto liveConfig = *getDataFlowConfiguration().getFirstClearLiveBroadcast();
+ auto dataFlow = getDataFlowConfiguration();
+ if (dataFlow.hasClearLiveBroadcast()) {
+ live.hasFrontendConnection = true;
+ } else {
+ live.hasFrontendConnection = false;
+ return;
+ }
+ auto liveConfig = *dataFlow.getFirstClearLiveBroadcast();
live.frontendId = liveConfig.getFrontendConnection();
live.audioFilterId = liveConfig.getAudioFilterConnection();
@@ -416,8 +429,15 @@
}
static void connectScan(ScanHardwareConnections& scan) {
- auto scanConfig = getDataFlowConfiguration().getFirstScan();
- scan.frontendId = scanConfig->getFrontendConnection();
+ auto dataFlow = getDataFlowConfiguration();
+ if (dataFlow.hasScan()) {
+ scan.hasFrontendConnection = true;
+ } else {
+ scan.hasFrontendConnection = false;
+ return;
+ }
+ auto scanConfig = *dataFlow.getFirstScan();
+ scan.frontendId = scanConfig.getFrontendConnection();
}
static void connectDvrPlayback(DvrPlaybackHardwareConnections& playback) {
@@ -425,6 +445,7 @@
if (dataFlow.hasDvrPlayback()) {
playback.support = true;
} else {
+ playback.support = false;
return;
}
auto playbackConfig = *dataFlow.getFirstDvrPlayback();
@@ -443,6 +464,7 @@
if (dataFlow.hasDvrRecord()) {
record.support = true;
} else {
+ record.support = false;
return;
}
auto recordConfig = *dataFlow.getFirstDvrRecord();
@@ -452,6 +474,13 @@
if (recordConfig.hasDvrSoftwareFeConnection()) {
record.dvrSoftwareFeId = recordConfig.getDvrSoftwareFeConnection();
}
+ if (recordConfig.getHasFrontendConnection()) {
+ record.hasFrontendConnection = true;
+ record.dvrSourceId = emptyHardwareId;
+ } else {
+ record.hasFrontendConnection = false;
+ record.dvrSourceId = recordConfig.getDvrSourceConnection();
+ }
}
static void connectDescrambling(DescramblingHardwareConnections& descrambling) {
@@ -459,6 +488,7 @@
if (dataFlow.hasDescrambling()) {
descrambling.support = true;
} else {
+ descrambling.support = false;
return;
}
auto descConfig = *dataFlow.getFirstDescrambling();
@@ -469,6 +499,13 @@
if (descConfig.hasDvrSoftwareFeConnection()) {
descrambling.dvrSoftwareFeId = descConfig.getDvrSoftwareFeConnection();
}
+ if (descConfig.getHasFrontendConnection()) {
+ descrambling.hasFrontendConnection = true;
+ descrambling.dvrSourceId = emptyHardwareId;
+ } else {
+ descrambling.hasFrontendConnection = false;
+ descrambling.dvrSourceId = descConfig.getDvrSourceConnection();
+ }
}
static void connectLnbLive(LnbLiveHardwareConnections& lnbLive) {
@@ -476,6 +513,7 @@
if (dataFlow.hasLnbLive()) {
lnbLive.support = true;
} else {
+ lnbLive.support = false;
return;
}
auto lnbLiveConfig = *dataFlow.getFirstLnbLive();
@@ -495,6 +533,7 @@
if (dataFlow.hasLnbRecord()) {
lnbRecord.support = true;
} else {
+ lnbRecord.support = false;
return;
}
auto lnbRecordConfig = *dataFlow.getFirstLnbRecord();
@@ -514,6 +553,7 @@
if (dataFlow.hasTimeFilter()) {
timeFilter.support = true;
} else {
+ timeFilter.support = false;
return;
}
auto timeFilterConfig = *dataFlow.getFirstTimeFilter();