packagegroup-agl-ivi-multimedia: update for pipewire
[AGL/meta-agl-demo.git] / recipes-multimedia / audiomanager-plugins-config / audiomanager-plugins-config / configuration.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <c:configuration xmlns:c="controller" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="controller audiomanagertypes.xsd ">
3     <listSources>
4         <source>
5             <id>0</id>
6             <domainName>UNKNOWN</domainName>
7             <name>SourceTemplate</name>
8             <volume>0</volume>
9             <visible>TRUE</visible>
10             <className>UNKNOWN</className>
11             <sourceState>SS_OFF</sourceState>
12             <connectionFormat>CF_GENIVI_STEREO</connectionFormat>
13             <connectionFormat>CF_GENIVI_MONO</connectionFormat>
14             <interruptState>IS_OFF</interruptState>
15             <availability>
16                 <availability>A_AVAILABLE</availability>
17                 <availabilityReason>AR_UNKNOWN</availabilityReason>
18             </availability>
19             <soundProperty>
20                 <type>SP_GENIVI_TREBLE</type>
21                 <value minValue="0" maxValue="10">5</value>
22             </soundProperty>
23             <soundProperty>
24                 <type>SP_GENIVI_MID</type>
25                 <value minValue="0" maxValue="10">5</value>
26             </soundProperty>
27             <soundProperty>
28                 <type>SP_GENIVI_BASS</type>
29                 <value minValue="0" maxValue="10">5</value>
30             </soundProperty>
31             <mainSoundProperty>
32                 <type>MSP_GENIVI_TREBLE</type>
33                 <value minValue="0" maxValue="10">5</value>
34             </mainSoundProperty>
35             <mainSoundProperty>
36                 <type>MSP_GENIVI_MID</type>
37                 <value minValue="0" maxValue="10">5</value>
38             </mainSoundProperty>
39             <mainSoundProperty>
40                 <type>MSP_GENIVI_BASS</type>
41                 <value minValue="0" maxValue="10">5</value>
42             </mainSoundProperty>
43             <registrationType>REG_TEMPLATE</registrationType>
44             <isVolumeSupported>TRUE</isVolumeSupported>
45             <priority>1</priority>
46             <listMainSoundPropertiesToSoundProperties>
47                 <mapEntry>MSP_UNKNOWN,SP_UNKNOWN</mapEntry>
48                 <mapEntry>MSP_GENIVI_TREBLE,SP_GENIVI_TREBLE</mapEntry>
49             </listMainSoundPropertiesToSoundProperties>
50         </source>
51         <source baseName="SourceTemplate">
52             <id>1</id>
53             <domainName>PulseAudio</domainName>
54             <name>mediaplayer</name>
55             <className>BASE</className>
56             <registrationType>REG_ROUTER</registrationType>
57         </source>
58         <source baseName="SourceTemplate">
59             <id>2</id>
60             <domainName>PulseAudio</domainName>
61             <name>ALSA#Playback</name>
62             <className>BASE</className>
63             <registrationType>REG_ROUTER</registrationType>
64         </source>
65         <source baseName="SourceTemplate">
66             <id>3</id>
67             <domainName>PulseAudio</domainName>
68             <name>music</name>
69             <className>BASE</className>
70             <registrationType>REG_ROUTER</registrationType>
71         </source>
72         <source baseName="SourceTemplate">
73             <id>4</id>
74             <domainName>PulseAudio</domainName>
75             <name>Navi</name>
76             <className>INT</className>
77             <registrationType>REG_ROUTER</registrationType>
78         </source>
79         <source baseName="SourceTemplate">
80             <id>5</id>
81             <domainName>PulseAudio</domainName>
82             <name>phone</name>
83             <className>PHONE</className>
84             <registrationType>REG_ROUTER</registrationType>
85         </source>
86     </listSources>  
87     <listSinks>
88         <sink>
89             <id>0</id>
90             <domainName>UNKNOWN</domainName>
91             <name>SinkTemplate</name>
92             <volume>0</volume>
93             <visible>TRUE</visible>
94             <mainVolume>100</mainVolume>
95             <className>BASE</className>
96             <muteState>MS_UNMUTED</muteState>
97             <connectionFormat>CF_GENIVI_STEREO</connectionFormat>
98             <connectionFormat>CF_GENIVI_MONO</connectionFormat>
99             <availability>
100                 <availability>A_AVAILABLE</availability>
101                 <availabilityReason>AR_GENIVI_NEWMEDIA</availabilityReason>
102             </availability>
103             <soundProperty>
104                 <type>SP_GENIVI_TREBLE</type>
105                 <value minValue="0" maxValue="10">5</value>
106             </soundProperty>
107             <soundProperty>
108                 <type>SP_GENIVI_MID</type>
109                 <value minValue="0" maxValue="10">5</value>
110             </soundProperty>
111             <soundProperty>
112                 <type>SP_GENIVI_BASS</type>
113                 <value minValue="0" maxValue="10">5</value>
114             </soundProperty>
115             <mainSoundProperty>
116                 <type>MSP_GENIVI_TREBLE</type>
117                 <value minValue="0" maxValue="10">5</value>
118             </mainSoundProperty>
119             <mainSoundProperty>
120                 <type>MSP_GENIVI_MID</type>
121                 <value minValue="0" maxValue="10">5</value>
122             </mainSoundProperty>
123             <mainSoundProperty>
124                 <type>MSP_GENIVI_BASS</type>
125                 <value minValue="0" maxValue="10">5</value>
126             </mainSoundProperty>
127             <registrationType>REG_TEMPLATE</registrationType>
128             <isVolumeSupported>TRUE</isVolumeSupported>
129             <priority>1</priority>
130             <listMainVolumesToNormalizedVolumes>
131                 <tableEntry>0,0.0</tableEntry>
132                 <tableEntry>1,0.01</tableEntry>
133                 <tableEntry>2,0.02</tableEntry>
134                 <tableEntry>3,0.03</tableEntry>
135                 <tableEntry>4,0.04</tableEntry>
136                 <tableEntry>5,0.05</tableEntry>
137                 <tableEntry>6,0.06</tableEntry>
138                 <tableEntry>7,0.07</tableEntry>
139                 <tableEntry>8,0.08</tableEntry>
140                 <tableEntry>9,0.09</tableEntry>
141                 <tableEntry>10,0.1</tableEntry>
142                 <tableEntry>11,0.11</tableEntry>
143                 <tableEntry>12,0.12</tableEntry>
144                 <tableEntry>14,0.14</tableEntry>
145                 <tableEntry>15,0.15</tableEntry>
146                 <tableEntry>17,0.17</tableEntry>
147                 <tableEntry>20,0.2</tableEntry>
148                 <tableEntry>22,0.22</tableEntry>
149                 <tableEntry>25,0.25</tableEntry>
150                 <tableEntry>28,0.28</tableEntry>
151                 <tableEntry>31,0.31</tableEntry>
152                 <tableEntry>35,0.35</tableEntry>
153                 <tableEntry>40,0.4</tableEntry>
154                 <tableEntry>45,0.45</tableEntry>
155                 <tableEntry>50,0.5</tableEntry>
156                 <tableEntry>56,0.56</tableEntry>
157                 <tableEntry>62,0.62</tableEntry>
158                 <tableEntry>70,0.7</tableEntry>
159                 <tableEntry>80,0.8</tableEntry>
160                 <tableEntry>90,0.9</tableEntry>
161                 <tableEntry>100,1.0</tableEntry>
162             </listMainVolumesToNormalizedVolumes>
163             <listNormalizedVolumesToDecibelVolumes>
164                 <tableEntry>0.0,-192.0</tableEntry>
165                 <tableEntry>0.01,-40.0</tableEntry>
166                 <tableEntry>0.02,-34.0</tableEntry>
167                 <tableEntry>0.03,-30.0</tableEntry>
168                 <tableEntry>0.04,-27.0</tableEntry>
169                 <tableEntry>0.05,-26.0</tableEntry>
170                 <tableEntry>0.06,-24.0</tableEntry>
171                 <tableEntry>0.07,-23.0</tableEntry>
172                 <tableEntry>0.08,-22.0</tableEntry>
173                 <tableEntry>0.09,-21.0</tableEntry>
174                 <tableEntry>0.1,-20.0</tableEntry>
175                 <tableEntry>0.11,-19.0</tableEntry>
176                 <tableEntry>0.12,-18.0</tableEntry>
177                 <tableEntry>0.14,-17.0</tableEntry>
178                 <tableEntry>0.15,-16.0</tableEntry>
179                 <tableEntry>0.17,-15.0</tableEntry>
180                 <tableEntry>0.2,-14.0</tableEntry>
181                 <tableEntry>0.22,-13.0</tableEntry>
182                 <tableEntry>0.25,-12.0</tableEntry>
183                 <tableEntry>0.28,-11.0</tableEntry>
184                 <tableEntry>0.31,-10.0</tableEntry>
185                 <tableEntry>0.35,-9.0</tableEntry>
186                 <tableEntry>0.4,-8.0</tableEntry>
187                 <tableEntry>0.45,-7.0</tableEntry>
188                 <tableEntry>0.5,-6.0</tableEntry>
189                 <tableEntry>0.56,-5.0</tableEntry>
190                 <tableEntry>0.62,-4.0</tableEntry>
191                 <tableEntry>0.7,-3.0</tableEntry>
192                 <tableEntry>0.8,-2.0</tableEntry>
193                 <tableEntry>0.9,-1.0</tableEntry>
194                 <tableEntry>1.0,0.0</tableEntry>
195             </listNormalizedVolumesToDecibelVolumes>
196             <listMainSoundPropertiesToSoundProperties>
197                 <mapEntry>MSP_UNKNOWN,SP_UNKNOWN</mapEntry>
198                 <mapEntry>MSP_GENIVI_TREBLE,SP_GENIVI_TREBLE</mapEntry>
199             </listMainSoundPropertiesToSoundProperties>
200         </sink>
201         <sink baseName="SinkTemplate">
202             <id>1</id>
203             <domainName>PulseAudio</domainName>
204             <name>rsnd-dai.0-ak4642-hifi#Analog#Stereo</name>
205             <className>BASE</className>
206             <registrationType>REG_ROUTER</registrationType>
207         </sink>
208         <sink baseName="SinkTemplate">
209             <id>2</id>
210             <domainName>PulseAudio</domainName>
211             <name>Microchip#MOST:0#Multichannel</name>
212             <className>BASE</className>
213             <registrationType>REG_ROUTER</registrationType>
214         </sink>
215     </listSinks>
216     <listGateways> 
217         <!-- This is a single domain example, therefore no gateway is present -->
218     </listGateways>
219     <listDomains>
220         <domain>
221             <id>0</id>
222             <name>PulseAudio</name>
223             <busName>org.genivi.audiomanager</busName>
224             <nodeName>pulseaudio</nodeName>
225             <early>FALSE</early>
226             <complete>TRUE</complete>
227             <state>DS_CONTROLLED</state>
228             <registrationType>REG_ROUTER</registrationType>
229         </domain>
230     </listDomains>
231     <listClasses>
232         <class>
233             <name>BASE</name>
234             <type>C_PLAYBACK</type>
235             <priority>1</priority>
236             <topology>Microchip#MOST:0#Multichannel^rsnd-dai.0-ak4642-hifi#Analog#Stereo=mediaplayer^music^ALSA#Playback</topology>
237         </class>
238         <class>
239             <name>INT</name>
240             <type>C_PLAYBACK</type>
241             <priority>2</priority>
242             <topology>Microchip#MOST:0#Multichannel^rsnd-dai.0-ak4642-hifi#Analog#Stereo=Navi</topology>
243         </class>
244         <class>
245             <name>PHONE</name>
246             <type>C_PLAYBACK</type>
247             <priority>3</priority>
248             <topology>Microchip#MOST:0#Multichannel^rsnd-dai.0-ak4642-hifi#Analog#Stereo=phone</topology>
249         </class>
250     </listClasses>
251     <listPolicies>
252 <!--Connect Policy Start-->
253 <!--BASE Policy-->    
254     <policy>
255       <trigger>USER_CONNECTION_REQUEST</trigger>
256       <process>
257           <condition>name(CLASS, REQUESTING) EQ "BASE"</condition>
258           <condition>connectionState(CONNECTIONOFCLASS, REQUESTING, OTHERS) INC CS_CONNECTED</condition>
259           <action>
260             <type>ACTION_SUSPEND</type>
261             <param>
262               <className>"BASE"</className>
263               <connectionState>CS_CONNECTED</connectionState>
264             </param>
265           </action>
266       </process>
267     </policy>
268 <!--INT policy-->
269     <policy>
270       <trigger>USER_CONNECTION_REQUEST</trigger>
271       <process>
272         <condition>name(CLASS, REQUESTING) EQ "INT"</condition>
273         <action>
274           <type>ACTION_LIMIT</type>
275           <param>
276             <className>"BASE"</className>
277             <volume>-1000</volume>
278             <pattern>01</pattern>
279           </param>
280         </action>
281       </process>
282       <process>
283           <condition>name(CLASS, REQUESTING) EQ "INT"</condition>
284           <condition>connectionState(CONNECTIONOFCLASS, REQUESTING, OTHERS) INC CS_CONNECTED</condition>
285           <condition>priority(CONNECTIONOFCLASS, REQUESTING, OTHERS) LT priority(CONNECTION, REQUESTING)</condition>
286           <action>
287             <type>ACTION_PUSH</type>
288             <param>
289               <className>"INT"</className>
290               <order>O_NEWEST</order>
291             </param>
292           </action>
293           <break>TRUE</break>
294       </process>
295       <process>
296           <condition>name(CLASS, REQUESTING) EQ "INT"</condition>
297           <condition>connectionState(CONNECTIONOFCLASS, REQUESTING, OTHERS) INC CS_CONNECTED</condition>
298           <action>
299             <type>ACTION_PUSH</type>
300             <param>
301               <className>"INT"</className>
302               <order>O_OLDEST</order>
303             </param>
304           </action>
305       </process>
306       <process>
307           <condition>name(CLASS, REQUESTING) EQ "INT"</condition>
308           <condition>connectionState(CONNECTIONOFCLASS, "PHONE") INC CS_CONNECTED</condition>
309           <action>
310             <type>ACTION_MUTE</type>
311             <param>
312                 <className>REQUESTING</className>
313             </param>
314           </action>
315           <action>
316             <type>ACTION_CONNECT</type>
317             <param>
318               <className>REQUESTING</className>
319             </param>
320           </action>
321           <break>TRUE</break>
322       </process>  
323     </policy>
324 <!--PHONE policy-->
325     <policy>
326       <trigger>USER_CONNECTION_REQUEST</trigger>
327       <process>
328           <condition>name(CLASS, REQUESTING) EQ "PHONE"</condition>
329           <action>
330             <type>ACTION_LIMIT</type>
331             <param>
332               <className>"BASE"</className>
333               <volume>-1000</volume>
334               <pattern>02</pattern>
335             </param>
336           </action>
337       </process>
338       <process>
339           <condition>name(CLASS, REQUESTING) EQ "PHONE"</condition>
340           <condition>connectionState(CONNECTIONOFCLASS, "INT") INC CS_CONNECTED</condition>
341           <action>
342             <type>ACTION_MUTE</type>
343             <param>
344               <className>"INT"</className>
345             </param>
346           </action>
347       </process>
348       <process>
349           <condition>name(SINK, REQUESTING) EQ "AMP"</condition>
350           <action>
351             <type>ACTION_CONNECT</type>
352             <param>
353               <className>REQUESTING</className>
354               <timeOut>5000</timeOut>
355             </param>
356           </action>
357           <break>TRUE</break>
358       </process>
359     </policy>
360 <!--Connect policy end-->
361 <!--Disconnect policy start-->
362     <policy>
363       <trigger>USER_DISCONNECTION_REQUEST</trigger>
364       <process>
365           <action>
366             <type>ACTION_DISCONNECT</type>
367             <param>
368               <sourceName>REQUESTING</sourceName>
369               <sinkName>REQUESTING</sinkName>
370             </param>
371           </action>
372       </process>
373       <process>
374           <condition>name(CLASS, REQUESTING) EQ "INT"</condition>
375           <action>
376             <type>ACTION_UNLIMIT</type>
377             <param>
378               <className>"BASE"</className>
379               <pattern>01</pattern>
380             </param>
381           </action>
382       </process>
383       <process>
384           <condition>name(CLASS, REQUESTING) EQ "INT"</condition>
385           <condition>connectionState(CONNECTIONOFCLASS, REQUESTING, OTHERS) INC CS_CONNECTED</condition>
386           <action>
387             <type>ACTION_POP</type>
388             <param>
389               <className>"INT"</className>
390               <order>O_OLDEST</order>
391             </param>
392           </action>
393       </process>
394       <process>
395           <condition>name(CLASS, REQUESTING) EQ "PHONE"</condition>
396           <condition>connectionState(CONNECTIONOFCLASS, "INT") INC CS_CONNECTED</condition>
397           <action>
398             <type>ACTION_UNMUTE</type>
399             <param>
400               <className>"INT"</className>
401             </param>
402           </action>
403       </process>
404       <process>
405           <condition>name(CLASS, REQUESTING) EQ "PHONE"</condition>
406           <action>
407             <type>ACTION_UNLIMIT</type>
408             <param>
409               <className>"BASE"</className>
410                   <pattern>02</pattern>
411             </param>
412           </action>
413       </process>
414       <process>
415           <condition>name(CLASS, REQUESTING) EQ "BASE"</condition>
416           <condition>connectionState(CONNECTIONOFCLASS, "BASE") INC CS_SUSPENDED</condition>
417           <action>
418             <type>ACTION_RESUME</type>
419             <param>
420               <className>"BASE"</className>
421               <connectionState>CS_SUSPENDED</connectionState>
422             </param>
423           </action>
424       </process>
425     </policy>
426 <!-- default volume policy start -->
427     <policy>
428       <trigger>USER_SET_VOLUME</trigger>
429       <process>
430         <action>
431             <type>ACTION_SET_VOLUME</type>
432             <param>
433                 <sinkName>REQUESTING</sinkName>
434             </param>
435         </action>
436       </process>
437     </policy>
438 <!-- default volume policy end -->
439 <!-- default mute policy start -->
440    <policy>
441       <trigger>USER_SET_SINK_MUTE_STATE</trigger>
442       <process>
443             <condition>muteState(USER,REQUESTING) EQ MS_MUTED</condition>
444             <action>
445                 <type>ACTION_MUTE</type>
446                 <param>
447                     <sinkName>REQUESTING</sinkName>
448                 </param>
449             </action>
450       </process>
451       <process>
452             <condition>muteState(USER,REQUESTING) EQ MS_UNMUTED</condition>
453             <action>
454                 <type>ACTION_UNMUTE</type>
455                 <param>
456                     <sinkName>REQUESTING</sinkName>
457                 </param>
458             </action>
459       </process>
460     </policy>
461 <!-- default mute policy end -->
462 <!-- default set sink sound property policy start -->
463     <policy>
464       <trigger>USER_SET_SINK_MAIN_SOUND_PROPERTY</trigger>
465       <process>
466             <action>
467                 <type>ACTION_SET_PROPERTY</type>
468                 <param>
469                     <sinkName>REQUESTING</sinkName>
470                 </param>
471             </action>
472       </process>
473     </policy>
474 <!-- default set sink sound property policy end -->
475 <!-- default set source sound property policy start -->
476     <policy>
477         <trigger>USER_SET_SOURCE_MAIN_SOUND_PROPERTY</trigger>
478         <process>
479             <action>
480                 <type>ACTION_SET_PROPERTY</type>
481                 <param>
482                     <sourceName>REQUESTING</sourceName>
483                 </param>
484             </action>
485         </process>
486     </policy>
487 <!-- default set source sound property policy end -->
488 <!-- default connect policy start -->
489     <policy>
490       <trigger>USER_CONNECTION_REQUEST</trigger>
491       <process>
492           <action>
493             <type>ACTION_MUTE</type>
494             <param>
495               <className>REQUESTING</className>
496               <timeOut>5000</timeOut>
497             </param>
498           </action>
499           <action>
500             <type>ACTION_CONNECT</type>
501             <param>
502               <className>REQUESTING</className>
503               <timeOut>5000</timeOut>
504             </param>
505           </action>
506           <action>
507             <type>ACTION_UNMUTE</type>
508             <param>
509               <className>REQUESTING</className>
510             </param>
511           </action>
512       </process>
513     </policy>
514 <!-- default connect policy end -->
515   </listPolicies>
516   <listSystemProperties>
517     <systemProperty>
518         <type>SYP_DEBUG_LOG</type>
519         <value>5</value>
520     </systemProperty>
521   </listSystemProperties>
522 </c:configuration>