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
diff --git a/tv/tuner/config/TunerTestingConfigReaderV1_0.h b/tv/tuner/config/TunerTestingConfigReaderV1_0.h
index cff4af1..f7f72b0 100644
--- a/tv/tuner/config/TunerTestingConfigReaderV1_0.h
+++ b/tv/tuner/config/TunerTestingConfigReaderV1_0.h
@@ -123,6 +123,7 @@
};
struct LiveBroadcastHardwareConnections {
+ bool hasFrontendConnection;
string frontendId;
string dvrSoftwareFeId;
string audioFilterId;
@@ -134,6 +135,7 @@
};
struct ScanHardwareConnections {
+ bool hasFrontendConnection;
string frontendId;
};
@@ -149,19 +151,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; */
};
@@ -402,7 +408,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();
@@ -428,8 +441,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) {
@@ -437,6 +457,7 @@
if (dataFlow.hasDvrPlayback()) {
playback.support = true;
} else {
+ playback.support = false;
return;
}
auto playbackConfig = *dataFlow.getFirstDvrPlayback();
@@ -455,6 +476,7 @@
if (dataFlow.hasDvrRecord()) {
record.support = true;
} else {
+ record.support = false;
return;
}
auto recordConfig = *dataFlow.getFirstDvrRecord();
@@ -464,6 +486,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) {
@@ -471,6 +500,7 @@
if (dataFlow.hasDescrambling()) {
descrambling.support = true;
} else {
+ descrambling.support = false;
return;
}
auto descConfig = *dataFlow.getFirstDescrambling();
@@ -481,6 +511,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) {
@@ -488,6 +525,7 @@
if (dataFlow.hasLnbLive()) {
lnbLive.support = true;
} else {
+ lnbLive.support = false;
return;
}
auto lnbLiveConfig = *dataFlow.getFirstLnbLive();
@@ -507,6 +545,7 @@
if (dataFlow.hasLnbRecord()) {
lnbRecord.support = true;
} else {
+ lnbRecord.support = false;
return;
}
auto lnbRecordConfig = *dataFlow.getFirstLnbRecord();
@@ -526,6 +565,7 @@
if (dataFlow.hasTimeFilter()) {
timeFilter.support = true;
} else {
+ timeFilter.support = false;
return;
}
auto timeFilterConfig = *dataFlow.getFirstTimeFilter();