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