1<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 2<!-- Copyright (C) 2021 The Android Open Source Project 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15--> 16 17<!-- The Sample Tuner Testing Configuration. 18 Name the customized xml with "tuner_vts_config.xml" and push into the device 19 "/vendor/etc" path. Please use "tuner_testing_dynamic_configuration.xsd" to verify the xml. 20 The version section contains a “version” tag in the form “major.minor” e.g version=”1.0” 21 This shows the tuner dynamic configuration version. --> 22<TunerConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude"> 23 <!-- Hardware Configuration section contains the configurations of all the hardwares 24 that would be used in the tests. In the "dataFlowConfiguration" section, each data flow 25 under test has its required/optional hardwares. The ids configured in the 26 "dataFlowConfiguration" would be used to connect the hardware to each data flow test. --> 27 <hardwareConfiguration> 28 <!-- Frontends section: 29 This section contains configurations of all the frontends that would be used 30 in the tests. 31 - This section is optional and can be skipped to use the default fe settings. 32 - The default settings can be found in the sample_tuner_vts_configurations.xml. 33 - The users can also override the default frontend settings using id="FE_DEFAULT". 34 - The users can configure 1 or more frontend elements in the frontends sections. 35 36 Each frontend element contain the following attributes: 37 "id": unique id of the frontend that could be used to connect to the test the 38 "dataFlowConfiguration" 39 "type": the frontend type. The enums are defined in the xsd. 40 "isSoftwareFrontend": if the test environment is using hardware or software 41 frontend. If using software, a ts input file path needs to be configured. 42 "softwareFeInputPath": used as the source of the software frontend. 43 "connectToCicamId": if the device supports frontend connecting to cicam, the target 44 cicam id needs to be configured here. Supported in Tuner 1.1 or higher. 45 "frequency": the frequency used to configure tune and scan. 46 "endFrequency": the end frequency of scan. Supported in Tuner 1.1 or higher. 47 48 Each frontend element also contains one and only one type-related "frontendSettings". 49 - The settings type should match the frontend "type" attribute. 50 - For example, when frontend type="DVBT", dvbtFrontendSettings can be configured. 51 - This is optional and skipping the settings would pass a setting with frequency 52 config only to the hal. 53 --> 54 <frontends> 55 <frontend id="FE_DEFAULT" type="DVBT" isSoftwareFrontend="true" 56 connectToCicamId="0" frequency="578000" endFrequency="800000"> 57 <dvbtFrontendSettings bandwidth="8" transmissionMode="1" isHighPriority="1" 58 constellation="1" hierarchy="1" hpCoderate="1" lpCoderate="1" 59 guardInterval="1" standard="1" isMiso="0" plpMode="1" 60 plpId="0" plpGroupId="0"/> 61 </frontend> 62 <frontend id="FE_DVBS_0" type="DVBS" isSoftwareFrontend="true" 63 connectToCicamId="0" frequency="578000" endFrequency="800000"> 64 </frontend> 65 </frontends> 66 <!-- Filter section: 67 This section contains configurations of all the filters that would be used in the tests. 68 - This section is optional and can be skipped to use the default filter settings. 69 - The default settings can be found in the sample_tuner_vts_configurations.xml. 70 - The users can also override the default filter settings using 71 - id="FILTER_AUDIO_DEFAULT" or "FILTER_VIDEO_DEFAULT". 72 - The users can configure 1 or more filter elements in the filters sections. 73 74 Each filter element contain the following attributes: 75 "id": unique id of the filter that could be used to connect to the test the 76 "dataFlowConfiguration" 77 "mainType": the main filter type. The enums are defined in the xsd. 78 "subType": the sub filter type. The enums are defined in the xsd. 79 "bufferSize": the buffer size of the filter in hex. 80 "pid": the pid that would be used to configure the filter. 81 "useFMQ": if the filter uses FMQ. 82 83 Each filter element also contains at most one type-related "filterSettings". 84 - The settings type should match the filter "subType" attribute. 85 - For example, when filter subType is audio or video, the avFilterSettings can be 86 configured. 87 - This is optional and skipping the settings would pass a setting with tpid config 88 only to the hal. 89 --> 90 <filters> 91 <filter id="FILTER_AUDIO_DEFAULT" mainType="TS" subType="AUDIO" 92 bufferSize="16777216" pid="257" useFMQ="false"> 93 <avFilterSettings isPassthrough="false"/> 94 </filter> 95 <filter id="FILTER_VIDEO_DEFAULT" mainType="TS" subType="VIDEO" 96 bufferSize="16777216" pid="256" useFMQ="false"> 97 <avFilterSettings isPassthrough="false"/> 98 </filter> 99 <filter id="FILTER_TS_RECORD_0" mainType="TS" subType="RECORD" 100 bufferSize="16777216" pid="257" useFMQ="false"> 101 <recordFilterSettings tsIndexMask="1" scIndexType="NONE"/> 102 </filter> 103 <filter id="FILTER_TS_SECTION_0" mainType="TS" subType="SECTION" 104 bufferSize="16777216" pid="257" useFMQ="true"> 105 <sectionFilterSettings isCheckCrc="false" isRepeat="false" isRaw="false"/> 106 </filter> 107 <filter id="FILTER_TS_PCR_0" mainType="TS" subType="PCR" 108 bufferSize="16777216" pid="256" useFMQ="false"> 109 </filter> 110 </filters> 111 <!-- Dvr section: 112 This section contains configurations of all the dvrs that would be used in the tests. 113 - This section is optional and can be skipped if DVR is not supported. 114 - The users can configure 1 or more dvr elements in the dvrs sections. 115 116 Each dvr element contain the following attributes: 117 "id": unique id of the dvr that could be used to connect to the test the 118 "dataFlowConfiguration" 119 "type": the dvr type. 120 "bufferSize": the dvr buffer size. 121 "statusMask": register callbacks of specific status. 122 "lowThreshold": the dvr status low threshold. 123 "highThreshold": the dvr status high threshold. 124 "dataFormat": the dvr data format. 125 "packetSize": the dvr packet size. 126 "inputFilePath": the dvr playback input file path. Only required in playback dvr. 127 --> 128 <dvrs> 129 <dvr id="DVR_PLAYBACK_0" type="PLAYBACK" bufferSize="4194304" 130 statusMask="15" lowThreshold="4096" highThreshold="32767" 131 dataFormat="TS" packetSize="188" inputFilePath="/data/local/tmp/segment000000.ts"/> 132 <dvr id="DVR_RECORD_0" type="RECORD" bufferSize="4194304" 133 statusMask="15" lowThreshold="4096" highThreshold="32767" 134 dataFormat="TS" packetSize="188"/> 135 <dvr id="DVR_PLAYBACK_1" type="PLAYBACK" bufferSize="4194304" 136 statusMask="15" lowThreshold="4096" highThreshold="32767" 137 dataFormat="ES" packetSize="188" inputFilePath="/data/local/tmp/test.es"/> 138 </dvrs> 139 <!-- Lnb section: 140 This section contains configurations of all the lnbs that would be used in the tests. 141 - This section is optional and can be skipped if LNB is not supported. 142 - The users can configure 1 or more lnb elements in the lnbs sections. 143 144 Each lnb element contain the following attributes: 145 "id": unique id of the lnb that could be used to connect to the test the 146 "dataFlowConfiguration" 147 "name": the external lnb device name. 148 "voltage": the voltage used to config the lnb. 149 "tone": the voltage used to config the lnb. 150 "position": the voltage used to config the lnb. 151 --> 152 <diseqcMessages> 153 <diseqcMessage msgName="DISEQC_POWER_ON" msgBody="14 0 0 0 0 3"/> 154 </diseqcMessages> 155 <lnbs> 156 <lnb id="LNB_0" voltage="VOLTAGE_12V" tone="NONE" position="UNDEFINED"/> 157 <lnb id="LNB_1" name="default_lnb_external" voltage="VOLTAGE_5V" 158 tone="NONE" position="UNDEFINED"/> 159 </lnbs> 160 <!-- TimeFilter section: 161 This section contains configurations of all the time filters that would be used in 162 the tests. 163 - This section is optional and can be skipped if Time Filter is not supported. 164 - The users can configure 1 or more timeFilter elements in the timeFilters sections. 165 166 Each timeFilter element contain the following attributes: 167 "id": unique id of the time filter that could be used to connect to the test the 168 "dataFlowConfiguration" 169 "timeStamp": the time stamp used to config the time filter. 170 --> 171 <timeFilters> 172 <timeFilter id="TIME_FILTER_0" timeStamp="1"/> 173 </timeFilters> 174 <!-- Descrambler section: 175 This section contains configurations of all the descramblers that would be used in 176 the tests. 177 - This section is optional and can be skipped if Descrambler is not supported. 178 - The users can configure 1 or more descrambler elements in the descramblers sections. 179 180 Each Descrambler element contain the following attributes: 181 "id": unique id of the descrambler that could be used to connect to the test the 182 "dataFlowConfiguration" 183 "casSystemId": the cas system id to connect to the descrambler. 184 "provisionStr": the provision string to use with the cas plugin. 185 "sesstionPrivatData": the session private data used to open the cas session. 186 --> 187 <descramblers> 188 <descrambler id="DESCRAMBLER_0" casSystemId="63192"/> 189 </descramblers> 190 </hardwareConfiguration> 191 192 <!-- Data flow configuration section connects each data flow under test to the ids of the 193 hardwares that would be used during the tests. --> 194 <dataFlowConfiguration> 195 <clearLiveBroadcast frontendConnection="FE_DEFAULT" 196 audioFilterConnection="FILTER_AUDIO_DEFAULT" 197 videoFilterConnection="FILTER_VIDEO_DEFAULT" 198 pcrFilterConnection="FILTER_TS_PCR_0" 199 sectionFilterConnection="FILTER_TS_SECTION_0" 200 dvrSoftwareFeConnection="DVR_PLAYBACK_0"/> 201 <scan frontendConnection="FE_DEFAULT"/> 202 <descrambling hasFrontendConnection="true" 203 frontendConnection="FE_DEFAULT" 204 descramblerConnection="DESCRAMBLER_0" 205 audioFilterConnection="FILTER_AUDIO_DEFAULT" 206 videoFilterConnection="FILTER_VIDEO_DEFAULT" 207 dvrSoftwareFeConnection="DVR_PLAYBACK_0"/> 208 <dvrPlayback dvrConnection="DVR_PLAYBACK_0" 209 audioFilterConnection="FILTER_AUDIO_DEFAULT" 210 videoFilterConnection="FILTER_VIDEO_DEFAULT" 211 sectionFilterConnection="FILTER_TS_SECTION_0"/> 212 <dvrRecord hasFrontendConnection="true" 213 frontendConnection="FE_DEFAULT" 214 recordFilterConnection="FILTER_TS_RECORD_0" 215 dvrRecordConnection="DVR_RECORD_0" 216 dvrSoftwareFeConnection="DVR_PLAYBACK_0"/> 217 <lnbLive frontendConnection="FE_DVBS_0" 218 audioFilterConnection="FILTER_AUDIO_DEFAULT" 219 videoFilterConnection="FILTER_VIDEO_DEFAULT" 220 lnbConnection="LNB_1" 221 diseqcMsgSender="DISEQC_POWER_ON"/> 222 <lnbRecord frontendConnection="FE_DVBS_0" 223 recordFilterConnection="FILTER_TS_RECORD_0" 224 dvrRecordConnection="DVR_RECORD_0" 225 lnbConnection="LNB_0" 226 diseqcMsgSender="DISEQC_POWER_ON"/> 227 <timeFilter timeFilterConnection="TIME_FILTER_0"/> 228 </dataFlowConfiguration> 229</TunerConfiguration> 230