summaryrefslogtreecommitdiffstats
path: root/conf
diff options
context:
space:
mode:
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>2017-10-02 16:22:02 +0900
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>2017-10-11 13:33:02 +0900
commitce253994af37137d4c29221e7914f437c3dcb510 (patch)
tree3beed005e974e45d008089ffe67c9793c8bb1ee4 /conf
parente483fae4992307f34b6a9926bfba8b2e0568ebe3 (diff)
Add agl-service-soundmanager-2017
Add a new binding agl-service-soundmanager-2017. A image about this see JIRA SPEC-916 Packaging via cmake [PatchSet3] Pass to afb-binding version 2 Fix typo Fix libsoundmanager bug [PatchSet4] Modified commit message [PatchSet5] Re-add root CMakeLists.txt Prevent memory leak of json object Bug-AGL: SPEC-926 Change-Id: I24c0280210777778c379ac7027f3d71fa28d6d85 Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
Diffstat (limited to 'conf')
-rw-r--r--conf/audiomanager-config-sample/configuration.xml545
-rw-r--r--conf/audiomanager-config-sample/configuration_v3.xml545
-rw-r--r--conf/soundmanager-dbus.conf18
3 files changed, 1108 insertions, 0 deletions
diff --git a/conf/audiomanager-config-sample/configuration.xml b/conf/audiomanager-config-sample/configuration.xml
new file mode 100644
index 0000000..3020650
--- /dev/null
+++ b/conf/audiomanager-config-sample/configuration.xml
@@ -0,0 +1,545 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<c:configuration xmlns:c="controller" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="controller audiomanagertypes.xsd ">
+ <listSources>
+ <source>
+ <id>0</id>
+ <domainName>UNKNOWN</domainName>
+ <name>SourceTemplate</name>
+ <volume>0</volume>
+ <visible>TRUE</visible>
+ <className>UNKNOWN</className>
+ <sourceState>SS_OFF</sourceState>
+ <connectionFormat>CF_GENIVI_STEREO</connectionFormat>
+ <connectionFormat>CF_GENIVI_MONO</connectionFormat>
+ <interruptState>IS_OFF</interruptState>
+ <availability>
+ <availability>A_AVAILABLE</availability>
+ <availabilityReason>AR_UNKNOWN</availabilityReason>
+ </availability>
+ <soundProperty>
+ <type>SP_GENIVI_TREBLE</type>
+ <value minValue="0" maxValue="10">5</value>
+ </soundProperty>
+ <soundProperty>
+ <type>SP_GENIVI_MID</type>
+ <value minValue="0" maxValue="10">5</value>
+ </soundProperty>
+ <soundProperty>
+ <type>SP_GENIVI_BASS</type>
+ <value minValue="0" maxValue="10">5</value>
+ </soundProperty>
+ <mainSoundProperty>
+ <type>MSP_GENIVI_TREBLE</type>
+ <value minValue="0" maxValue="10">5</value>
+ </mainSoundProperty>
+ <mainSoundProperty>
+ <type>MSP_GENIVI_MID</type>
+ <value minValue="0" maxValue="10">5</value>
+ </mainSoundProperty>
+ <mainSoundProperty>
+ <type>MSP_GENIVI_BASS</type>
+ <value minValue="0" maxValue="10">5</value>
+ </mainSoundProperty>
+ <registrationType>REG_TEMPLATE</registrationType>
+ <isVolumeSupported>TRUE</isVolumeSupported>
+ <priority>1</priority>
+ <listMainSoundPropertiesToSoundProperties>
+ <mapEntry>MSP_UNKNOWN,SP_UNKNOWN</mapEntry>
+ <mapEntry>MSP_GENIVI_TREBLE,SP_GENIVI_TREBLE</mapEntry>
+ </listMainSoundPropertiesToSoundProperties>
+ </source>
+ <source baseName="SourceTemplate">
+ <id>0</id>
+ <domainName>SoundManager</domainName>
+ <name>mediaplayer</name>
+ <className>BASE</className>
+ <registrationType>REG_ROUTER</registrationType>
+ </source>
+ <source baseName="SourceTemplate">
+ <id>2</id>
+ <domainName>SoundManager</domainName>
+ <name>ALSA#Playback</name>
+ <className>BASE</className>
+ <registrationType>REG_ROUTER</registrationType>
+ </source>
+ <source baseName="SourceTemplate">
+ <id>3</id>
+ <domainName>SoundManager</domainName>
+ <name>music</name>
+ <className>BASE</className>
+ <registrationType>REG_ROUTER</registrationType>
+ </source>
+ <source baseName="SourceTemplate">
+ <id>4</id>
+ <domainName>SoundManager</domainName>
+ <name>Navi</name>
+ <className>INT</className>
+ <registrationType>REG_ROUTER</registrationType>
+ </source>
+ <source baseName="SourceTemplate">
+ <id>5</id>
+ <domainName>SoundManager</domainName>
+ <name>phone</name>
+ <className>PHONE</className>
+ <registrationType>REG_ROUTER</registrationType>
+ </source>
+<!-- add 10-Aug -->
+ <source baseName="SourceTemplate">
+ <id>0</id>
+ <domainName>SoundManager</domainName>
+ <name>radio</name>
+ <className>BASE</className>
+ <registrationType>REG_ROUTER</registrationType>
+ </source>
+<!-- add 10-Aug -->
+ </listSources>
+ <listSinks>
+ <sink>
+ <id>0</id>
+ <domainName>UNKNOWN</domainName>
+ <name>SinkTemplate</name>
+ <volume>0</volume>
+ <visible>TRUE</visible>
+ <mainVolume>100</mainVolume>
+ <className>BASE</className>
+ <muteState>MS_UNMUTED</muteState>
+ <connectionFormat>CF_GENIVI_STEREO</connectionFormat>
+ <connectionFormat>CF_GENIVI_MONO</connectionFormat>
+ <availability>
+ <availability>A_AVAILABLE</availability>
+ <availabilityReason>AR_GENIVI_NEWMEDIA</availabilityReason>
+ </availability>
+ <soundProperty>
+ <type>SP_GENIVI_TREBLE</type>
+ <value minValue="0" maxValue="10">5</value>
+ </soundProperty>
+ <soundProperty>
+ <type>SP_GENIVI_MID</type>
+ <value minValue="0" maxValue="10">5</value>
+ </soundProperty>
+ <soundProperty>
+ <type>SP_GENIVI_BASS</type>
+ <value minValue="0" maxValue="10">5</value>
+ </soundProperty>
+ <mainSoundProperty>
+ <type>MSP_GENIVI_TREBLE</type>
+ <value minValue="0" maxValue="10">5</value>
+ </mainSoundProperty>
+ <mainSoundProperty>
+ <type>MSP_GENIVI_MID</type>
+ <value minValue="0" maxValue="10">5</value>
+ </mainSoundProperty>
+ <mainSoundProperty>
+ <type>MSP_GENIVI_BASS</type>
+ <value minValue="0" maxValue="10">5</value>
+ </mainSoundProperty>
+ <registrationType>REG_TEMPLATE</registrationType>
+ <isVolumeSupported>TRUE</isVolumeSupported>
+ <priority>1</priority>
+ <listMainVolumesToNormalizedVolumes>
+ <tableEntry>0,0.0</tableEntry>
+ <tableEntry>1,0.01</tableEntry>
+ <tableEntry>2,0.02</tableEntry>
+ <tableEntry>3,0.03</tableEntry>
+ <tableEntry>4,0.04</tableEntry>
+ <tableEntry>5,0.05</tableEntry>
+ <tableEntry>6,0.06</tableEntry>
+ <tableEntry>7,0.07</tableEntry>
+ <tableEntry>8,0.08</tableEntry>
+ <tableEntry>9,0.09</tableEntry>
+ <tableEntry>10,0.1</tableEntry>
+ <tableEntry>11,0.11</tableEntry>
+ <tableEntry>12,0.12</tableEntry>
+ <tableEntry>14,0.14</tableEntry>
+ <tableEntry>15,0.15</tableEntry>
+ <tableEntry>17,0.17</tableEntry>
+ <tableEntry>20,0.2</tableEntry>
+ <tableEntry>22,0.22</tableEntry>
+ <tableEntry>25,0.25</tableEntry>
+ <tableEntry>28,0.28</tableEntry>
+ <tableEntry>31,0.31</tableEntry>
+ <tableEntry>35,0.35</tableEntry>
+ <tableEntry>40,0.4</tableEntry>
+ <tableEntry>45,0.45</tableEntry>
+ <tableEntry>50,0.5</tableEntry>
+ <tableEntry>56,0.56</tableEntry>
+ <tableEntry>62,0.62</tableEntry>
+ <tableEntry>70,0.7</tableEntry>
+ <tableEntry>80,0.8</tableEntry>
+ <tableEntry>90,0.9</tableEntry>
+ <tableEntry>100,1.0</tableEntry>
+ </listMainVolumesToNormalizedVolumes>
+ <listNormalizedVolumesToDecibelVolumes>
+ <tableEntry>0.0,-192.0</tableEntry>
+ <tableEntry>0.01,-40.0</tableEntry>
+ <tableEntry>0.02,-34.0</tableEntry>
+ <tableEntry>0.03,-30.0</tableEntry>
+ <tableEntry>0.04,-27.0</tableEntry>
+ <tableEntry>0.05,-26.0</tableEntry>
+ <tableEntry>0.06,-24.0</tableEntry>
+ <tableEntry>0.07,-23.0</tableEntry>
+ <tableEntry>0.08,-22.0</tableEntry>
+ <tableEntry>0.09,-21.0</tableEntry>
+ <tableEntry>0.1,-20.0</tableEntry>
+ <tableEntry>0.11,-19.0</tableEntry>
+ <tableEntry>0.12,-18.0</tableEntry>
+ <tableEntry>0.14,-17.0</tableEntry>
+ <tableEntry>0.15,-16.0</tableEntry>
+ <tableEntry>0.17,-15.0</tableEntry>
+ <tableEntry>0.2,-14.0</tableEntry>
+ <tableEntry>0.22,-13.0</tableEntry>
+ <tableEntry>0.25,-12.0</tableEntry>
+ <tableEntry>0.28,-11.0</tableEntry>
+ <tableEntry>0.31,-10.0</tableEntry>
+ <tableEntry>0.35,-9.0</tableEntry>
+ <tableEntry>0.4,-8.0</tableEntry>
+ <tableEntry>0.45,-7.0</tableEntry>
+ <tableEntry>0.5,-6.0</tableEntry>
+ <tableEntry>0.56,-5.0</tableEntry>
+ <tableEntry>0.62,-4.0</tableEntry>
+ <tableEntry>0.7,-3.0</tableEntry>
+ <tableEntry>0.8,-2.0</tableEntry>
+ <tableEntry>0.9,-1.0</tableEntry>
+ <tableEntry>1.0,0.0</tableEntry>
+ </listNormalizedVolumesToDecibelVolumes>
+ <listMainSoundPropertiesToSoundProperties>
+ <mapEntry>MSP_UNKNOWN,SP_UNKNOWN</mapEntry>
+ <mapEntry>MSP_GENIVI_TREBLE,SP_GENIVI_TREBLE</mapEntry>
+ </listMainSoundPropertiesToSoundProperties>
+ </sink>
+ <sink baseName="SinkTemplate">
+ <id>1</id>
+<!-- <domainName>PulseAudio</domainName> -->
+ <domainName>SoundManager</domainName>
+ <name>rsnd-dai.0-ak4642-hifi#Analog#Stereo</name>
+ <className>BASE</className>
+ <registrationType>REG_CONTROLLER</registrationType>
+ </sink>
+ <sink baseName="SinkTemplate">
+ <id>2</id>
+<!-- <domainName>PulseAudio</domainName> -->
+ <domainName>SoundManager</domainName>
+ <name>Microchip#MOST:0#Multichannel</name>
+ <className>BASE</className>
+ <registrationType>REG_CONTROLLER</registrationType>
+ </sink>
+ </listSinks>
+ <listGateways>
+ <!-- This is a single domain example, therefore no gateway is present -->
+ </listGateways>
+ <listDomains>
+<!-- <domain>
+ <id>0</id>
+ <name>PulseAudio</name>
+ <busName>org.genivi.audiomanager</busName>
+ <nodeName>pulseaudio</nodeName>
+ <early>FALSE</early>
+ <complete>TRUE</complete>
+ <state>DS_CONTROLLED</state>
+ <registrationType>REG_ROUTER</registrationType>
+ </domain> -->
+<!-- add 10-Aug -->
+ <domain>
+ <id>0</id>
+ <name>SoundManager</name>
+ <busName>org.genivi.audiomanager</busName>
+ <nodeName>SoundManager</nodeName>
+ <early>FALSE</early>
+ <complete>TRUE</complete>
+ <state>DS_CONTROLLED</state>
+ <registrationType>REG_ROUTER</registrationType>
+ </domain>
+<!-- add 10-Aug -->
+ </listDomains>
+ <listClasses>
+ <class>
+ <name>BASE</name>
+ <type>C_PLAYBACK</type>
+ <priority>1</priority>
+ <topology>Microchip#MOST:0#Multichannel^rsnd-dai.0-ak4642-hifi#Analog#Stereo=mediaplayer^music^ALSA#Playback^radio</topology>
+ </class>
+ <class>
+ <name>INT</name>
+ <type>C_PLAYBACK</type>
+ <priority>2</priority>
+ <topology>Microchip#MOST:0#Multichannel^rsnd-dai.0-ak4642-hifi#Analog#Stereo=Navi</topology>
+ </class>
+ <class>
+ <name>PHONE</name>
+ <type>C_PLAYBACK</type>
+ <priority>3</priority>
+ <topology>Microchip#MOST:0#Multichannel^rsnd-dai.0-ak4642-hifi#Analog#Stereo=phone</topology>
+ </class>
+ </listClasses>
+ <listPolicies>
+ <!--Connect Policy Start-->
+ <!--BASE Policy-->
+ <policy>
+ <trigger>USER_CONNECTION_REQUEST</trigger>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "BASE"</condition>
+ <condition>connectionState(CONNECTIONOFCLASS, REQUESTING, OTHERS) INC CS_CONNECTED</condition>
+ <action>
+ <type>ACTION_DISCONNECT</type>
+ <param>
+ <className>"BASE"</className>
+ <connectionState>CS_CONNECTED</connectionState>
+ </param>
+ </action>
+ </process>
+ </policy>
+ <!--INT policy-->
+ <policy>
+ <trigger>USER_CONNECTION_REQUEST</trigger>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "INT"</condition>
+ <action>
+ <type>ACTION_LIMIT</type>
+ <param>
+ <className>"BASE"</className>
+ <volume>-1000</volume>
+ <pattern>01</pattern>
+ </param>
+ </action>
+ </process>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "INT"</condition>
+ <condition>connectionState(CONNECTIONOFCLASS, REQUESTING, OTHERS) INC CS_CONNECTED</condition>
+ <condition>priority(CONNECTIONOFCLASS, REQUESTING, OTHERS) LT priority(CONNECTION, REQUESTING)</condition>
+ <action>
+ <type>ACTION_PUSH</type>
+ <param>
+ <className>"INT"</className>
+ <order>O_NEWEST</order>
+ </param>
+ </action>
+ <break>TRUE</break>
+ </process>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "INT"</condition>
+ <condition>connectionState(CONNECTIONOFCLASS, REQUESTING, OTHERS) INC CS_CONNECTED</condition>
+ <action>
+ <type>ACTION_PUSH</type>
+ <param>
+ <className>"INT"</className>
+ <order>O_OLDEST</order>
+ </param>
+ </action>
+ </process>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "INT"</condition>
+ <condition>connectionState(CONNECTIONOFCLASS, "PHONE") INC CS_CONNECTED</condition>
+ <action>
+ <type>ACTION_MUTE</type>
+ <param>
+ <className>REQUESTING</className>
+ </param>
+ </action>
+ <action>
+ <type>ACTION_CONNECT</type>
+ <param>
+ <className>REQUESTING</className>
+ </param>
+ </action>
+ <break>TRUE</break>
+ </process>
+ </policy>
+ <!--PHONE policy-->
+ <policy>
+ <trigger>USER_CONNECTION_REQUEST</trigger>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "PHONE"</condition>
+ <action>
+ <type>ACTION_LIMIT</type>
+ <param>
+ <className>"BASE"</className>
+ <volume>-1000</volume>
+ <pattern>02</pattern>
+ </param>
+ </action>
+ </process>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "PHONE"</condition>
+ <condition>connectionState(CONNECTIONOFCLASS, "INT") INC CS_CONNECTED</condition>
+ <action>
+ <type>ACTION_MUTE</type>
+ <param>
+ <className>"INT"</className>
+ </param>
+ </action>
+ </process>
+ <process>
+ <condition>name(SINK, REQUESTING) EQ "AMP"</condition>
+ <action>
+ <type>ACTION_CONNECT</type>
+ <param>
+ <className>REQUESTING</className>
+ <timeOut>5000</timeOut>
+ </param>
+ </action>
+ <break>TRUE</break>
+ </process>
+ </policy>
+ <!--Connect policy end-->
+ <!--Disconnect policy start-->
+ <policy>
+ <trigger>USER_DISCONNECTION_REQUEST</trigger>
+ <process>
+ <action>
+ <type>ACTION_DISCONNECT</type>
+ <param>
+ <sourceName>REQUESTING</sourceName>
+ <sinkName>REQUESTING</sinkName>
+ </param>
+ </action>
+ </process>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "INT"</condition>
+ <action>
+ <type>ACTION_UNLIMIT</type>
+ <param>
+ <className>"BASE"</className>
+ <pattern>01</pattern>
+ </param>
+ </action>
+ </process>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "INT"</condition>
+ <condition>connectionState(CONNECTIONOFCLASS, REQUESTING, OTHERS) INC CS_CONNECTED</condition>
+ <action>
+ <type>ACTION_POP</type>
+ <param>
+ <className>"INT"</className>
+ <order>O_OLDEST</order>
+ </param>
+ </action>
+ </process>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "PHONE"</condition>
+ <condition>connectionState(CONNECTIONOFCLASS, "INT") INC CS_CONNECTED</condition>
+ <action>
+ <type>ACTION_UNMUTE</type>
+ <param>
+ <className>"INT"</className>
+ </param>
+ </action>
+ </process>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "PHONE"</condition>
+ <action>
+ <type>ACTION_UNLIMIT</type>
+ <param>
+ <className>"BASE"</className>
+ <pattern>02</pattern>
+ </param>
+ </action>
+ </process>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "BASE"</condition>
+ <condition>connectionState(CONNECTIONOFCLASS, "BASE") INC CS_SUSPENDED</condition>
+ <action>
+ <type>ACTION_RESUME</type>
+ <param>
+ <className>"BASE"</className>
+ <connectionState>CS_SUSPENDED</connectionState>
+ </param>
+ </action>
+ </process>
+ </policy>
+ <!-- default volume policy start -->
+ <policy>
+ <trigger>USER_SET_VOLUME</trigger>
+ <process>
+ <action>
+ <type>ACTION_SET_VOLUME</type>
+ <param>
+ <sinkName>REQUESTING</sinkName>
+ </param>
+ </action>
+ </process>
+ </policy>
+ <!-- default volume policy end -->
+ <!-- default mute policy start -->
+ <policy>
+ <trigger>USER_SET_SINK_MUTE_STATE</trigger>
+ <process>
+ <condition>muteState(USER,REQUESTING) EQ MS_MUTED</condition>
+ <action>
+ <type>ACTION_MUTE</type>
+ <param>
+ <sinkName>REQUESTING</sinkName>
+ </param>
+ </action>
+ </process>
+ <process>
+ <condition>muteState(USER,REQUESTING) EQ MS_UNMUTED</condition>
+ <action>
+ <type>ACTION_UNMUTE</type>
+ <param>
+ <sinkName>REQUESTING</sinkName>
+ </param>
+ </action>
+ </process>
+ </policy>
+ <!-- default mute policy end -->
+ <!-- default set sink sound property policy start -->
+ <policy>
+ <trigger>USER_SET_SINK_MAIN_SOUND_PROPERTY</trigger>
+ <process>
+ <action>
+ <type>ACTION_SET_PROPERTY</type>
+ <param>
+ <sinkName>REQUESTING</sinkName>
+ </param>
+ </action>
+ </process>
+ </policy>
+ <!-- default set sink sound property policy end -->
+ <!-- default set source sound property policy start -->
+ <policy>
+ <trigger>USER_SET_SOURCE_MAIN_SOUND_PROPERTY</trigger>
+ <process>
+ <action>
+ <type>ACTION_SET_PROPERTY</type>
+ <param>
+ <sourceName>REQUESTING</sourceName>
+ </param>
+ </action>
+ </process>
+ </policy>
+ <!-- default set source sound property policy end -->
+ <!-- default connect policy start -->
+ <policy>
+ <trigger>USER_CONNECTION_REQUEST</trigger>
+ <process>
+<!-- <action>
+ <type>ACTION_MUTE</type>
+ <param>
+ <className>REQUESTING</className>
+ <timeOut>5000</timeOut>
+ </param>
+ </action> -->
+ <action>
+ <type>ACTION_CONNECT</type>
+ <param>
+ <className>REQUESTING</className>
+ <timeOut>5000</timeOut>
+ </param>
+ </action>
+<!-- <action>
+ <type>ACTION_UNMUTE</type>
+ <param>
+ <className>REQUESTING</className>
+ </param>
+ </action> -->
+ </process>
+ </policy>
+ <!-- default connect policy end -->
+ </listPolicies>
+ <listSystemProperties>
+ <systemProperty>
+ <type>SYP_DEBUG_LOG</type>
+ <value>5</value>
+ </systemProperty>
+ </listSystemProperties>
+</c:configuration>
diff --git a/conf/audiomanager-config-sample/configuration_v3.xml b/conf/audiomanager-config-sample/configuration_v3.xml
new file mode 100644
index 0000000..9706244
--- /dev/null
+++ b/conf/audiomanager-config-sample/configuration_v3.xml
@@ -0,0 +1,545 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<c:configuration xmlns:c="controller" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="controller audiomanagertypes.xsd ">
+ <listSources>
+ <source>
+ <id>0</id>
+ <domainName>UNKNOWN</domainName>
+ <name>SourceTemplate</name>
+ <volume>0</volume>
+ <visible>TRUE</visible>
+ <className>UNKNOWN</className>
+ <sourceState>SS_OFF</sourceState>
+ <connectionFormat>CF_GENIVI_STEREO</connectionFormat>
+ <connectionFormat>CF_GENIVI_MONO</connectionFormat>
+ <interruptState>IS_OFF</interruptState>
+ <availability>
+ <availability>A_AVAILABLE</availability>
+ <availabilityReason>AR_UNKNOWN</availabilityReason>
+ </availability>
+ <soundProperty>
+ <type>SP_GENIVI_TREBLE</type>
+ <value minValue="0" maxValue="10">5</value>
+ </soundProperty>
+ <soundProperty>
+ <type>SP_GENIVI_MID</type>
+ <value minValue="0" maxValue="10">5</value>
+ </soundProperty>
+ <soundProperty>
+ <type>SP_GENIVI_BASS</type>
+ <value minValue="0" maxValue="10">5</value>
+ </soundProperty>
+ <mainSoundProperty>
+ <type>MSP_GENIVI_TREBLE</type>
+ <value minValue="0" maxValue="10">5</value>
+ </mainSoundProperty>
+ <mainSoundProperty>
+ <type>MSP_GENIVI_MID</type>
+ <value minValue="0" maxValue="10">5</value>
+ </mainSoundProperty>
+ <mainSoundProperty>
+ <type>MSP_GENIVI_BASS</type>
+ <value minValue="0" maxValue="10">5</value>
+ </mainSoundProperty>
+ <registrationType>REG_TEMPLATE</registrationType>
+ <isVolumeSupported>TRUE</isVolumeSupported>
+ <priority>1</priority>
+ <listMainSoundPropertiesToSoundProperties>
+ <mapEntry>MSP_UNKNOWN,SP_UNKNOWN</mapEntry>
+ <mapEntry>MSP_GENIVI_TREBLE,SP_GENIVI_TREBLE</mapEntry>
+ </listMainSoundPropertiesToSoundProperties>
+ </source>
+ <source baseName="SourceTemplate">
+ <id>0</id>
+ <domainName>SoundManager</domainName>
+ <name>mediaplayer</name>
+ <className>BASE</className>
+ <registrationType>REG_ROUTER</registrationType>
+ </source>
+ <source baseName="SourceTemplate">
+ <id>2</id>
+ <domainName>SoundManager</domainName>
+ <name>ALSA#Playback</name>
+ <className>BASE</className>
+ <registrationType>REG_ROUTER</registrationType>
+ </source>
+ <source baseName="SourceTemplate">
+ <id>3</id>
+ <domainName>SoundManager</domainName>
+ <name>music</name>
+ <className>BASE</className>
+ <registrationType>REG_ROUTER</registrationType>
+ </source>
+ <source baseName="SourceTemplate">
+ <id>4</id>
+ <domainName>SoundManager</domainName>
+ <name>Navi</name>
+ <className>INT</className>
+ <registrationType>REG_ROUTER</registrationType>
+ </source>
+ <source baseName="SourceTemplate">
+ <id>5</id>
+ <domainName>SoundManager</domainName>
+ <name>phone</name>
+ <className>PHONE</className>
+ <registrationType>REG_ROUTER</registrationType>
+ </source>
+<!-- add 10-Aug -->
+ <source baseName="SourceTemplate">
+ <id>0</id>
+ <domainName>SoundManager</domainName>
+ <name>radio</name>
+ <className>BASE</className>
+ <registrationType>REG_ROUTER</registrationType>
+ </source>
+<!-- add 10-Aug -->
+ </listSources>
+ <listSinks>
+ <sink>
+ <id>0</id>
+ <domainName>UNKNOWN</domainName>
+ <name>SinkTemplate</name>
+ <volume>0</volume>
+ <visible>TRUE</visible>
+ <mainVolume>100</mainVolume>
+ <className>BASE</className>
+ <muteState>MS_UNMUTED</muteState>
+ <connectionFormat>CF_GENIVI_STEREO</connectionFormat>
+ <connectionFormat>CF_GENIVI_MONO</connectionFormat>
+ <availability>
+ <availability>A_AVAILABLE</availability>
+ <availabilityReason>AR_GENIVI_NEWMEDIA</availabilityReason>
+ </availability>
+ <soundProperty>
+ <type>SP_GENIVI_TREBLE</type>
+ <value minValue="0" maxValue="10">5</value>
+ </soundProperty>
+ <soundProperty>
+ <type>SP_GENIVI_MID</type>
+ <value minValue="0" maxValue="10">5</value>
+ </soundProperty>
+ <soundProperty>
+ <type>SP_GENIVI_BASS</type>
+ <value minValue="0" maxValue="10">5</value>
+ </soundProperty>
+ <mainSoundProperty>
+ <type>MSP_GENIVI_TREBLE</type>
+ <value minValue="0" maxValue="10">5</value>
+ </mainSoundProperty>
+ <mainSoundProperty>
+ <type>MSP_GENIVI_MID</type>
+ <value minValue="0" maxValue="10">5</value>
+ </mainSoundProperty>
+ <mainSoundProperty>
+ <type>MSP_GENIVI_BASS</type>
+ <value minValue="0" maxValue="10">5</value>
+ </mainSoundProperty>
+ <registrationType>REG_TEMPLATE</registrationType>
+ <isVolumeSupported>TRUE</isVolumeSupported>
+ <priority>1</priority>
+ <listMainVolumesToNormalizedVolumes>
+ <tableEntry>0,0.0</tableEntry>
+ <tableEntry>1,0.01</tableEntry>
+ <tableEntry>2,0.02</tableEntry>
+ <tableEntry>3,0.03</tableEntry>
+ <tableEntry>4,0.04</tableEntry>
+ <tableEntry>5,0.05</tableEntry>
+ <tableEntry>6,0.06</tableEntry>
+ <tableEntry>7,0.07</tableEntry>
+ <tableEntry>8,0.08</tableEntry>
+ <tableEntry>9,0.09</tableEntry>
+ <tableEntry>10,0.1</tableEntry>
+ <tableEntry>11,0.11</tableEntry>
+ <tableEntry>12,0.12</tableEntry>
+ <tableEntry>14,0.14</tableEntry>
+ <tableEntry>15,0.15</tableEntry>
+ <tableEntry>17,0.17</tableEntry>
+ <tableEntry>20,0.2</tableEntry>
+ <tableEntry>22,0.22</tableEntry>
+ <tableEntry>25,0.25</tableEntry>
+ <tableEntry>28,0.28</tableEntry>
+ <tableEntry>31,0.31</tableEntry>
+ <tableEntry>35,0.35</tableEntry>
+ <tableEntry>40,0.4</tableEntry>
+ <tableEntry>45,0.45</tableEntry>
+ <tableEntry>50,0.5</tableEntry>
+ <tableEntry>56,0.56</tableEntry>
+ <tableEntry>62,0.62</tableEntry>
+ <tableEntry>70,0.7</tableEntry>
+ <tableEntry>80,0.8</tableEntry>
+ <tableEntry>90,0.9</tableEntry>
+ <tableEntry>100,1.0</tableEntry>
+ </listMainVolumesToNormalizedVolumes>
+ <listNormalizedVolumesToDecibelVolumes>
+ <tableEntry>0.0,-192.0</tableEntry>
+ <tableEntry>0.01,-40.0</tableEntry>
+ <tableEntry>0.02,-34.0</tableEntry>
+ <tableEntry>0.03,-30.0</tableEntry>
+ <tableEntry>0.04,-27.0</tableEntry>
+ <tableEntry>0.05,-26.0</tableEntry>
+ <tableEntry>0.06,-24.0</tableEntry>
+ <tableEntry>0.07,-23.0</tableEntry>
+ <tableEntry>0.08,-22.0</tableEntry>
+ <tableEntry>0.09,-21.0</tableEntry>
+ <tableEntry>0.1,-20.0</tableEntry>
+ <tableEntry>0.11,-19.0</tableEntry>
+ <tableEntry>0.12,-18.0</tableEntry>
+ <tableEntry>0.14,-17.0</tableEntry>
+ <tableEntry>0.15,-16.0</tableEntry>
+ <tableEntry>0.17,-15.0</tableEntry>
+ <tableEntry>0.2,-14.0</tableEntry>
+ <tableEntry>0.22,-13.0</tableEntry>
+ <tableEntry>0.25,-12.0</tableEntry>
+ <tableEntry>0.28,-11.0</tableEntry>
+ <tableEntry>0.31,-10.0</tableEntry>
+ <tableEntry>0.35,-9.0</tableEntry>
+ <tableEntry>0.4,-8.0</tableEntry>
+ <tableEntry>0.45,-7.0</tableEntry>
+ <tableEntry>0.5,-6.0</tableEntry>
+ <tableEntry>0.56,-5.0</tableEntry>
+ <tableEntry>0.62,-4.0</tableEntry>
+ <tableEntry>0.7,-3.0</tableEntry>
+ <tableEntry>0.8,-2.0</tableEntry>
+ <tableEntry>0.9,-1.0</tableEntry>
+ <tableEntry>1.0,0.0</tableEntry>
+ </listNormalizedVolumesToDecibelVolumes>
+ <listMainSoundPropertiesToSoundProperties>
+ <mapEntry>MSP_UNKNOWN,SP_UNKNOWN</mapEntry>
+ <mapEntry>MSP_GENIVI_TREBLE,SP_GENIVI_TREBLE</mapEntry>
+ </listMainSoundPropertiesToSoundProperties>
+ </sink>
+ <sink baseName="SinkTemplate">
+ <id>1</id>
+<!-- <domainName>PulseAudio</domainName> -->
+ <domainName>SoundManager</domainName>
+ <name>rsnd-dai.0-ak4642-hifi#Analog#Stereo</name>
+ <className>BASE</className>
+ <registrationType>REG_CONTROLLER</registrationType>
+ </sink>
+ <sink baseName="SinkTemplate">
+ <id>2</id>
+<!-- <domainName>PulseAudio</domainName> -->
+ <domainName>SoundManager</domainName>
+ <name>Microchip#MOST:0#Multichannel</name>
+ <className>BASE</className>
+ <registrationType>REG_CONTROLLER</registrationType>
+ </sink>
+ </listSinks>
+ <listGateways>
+ <!-- This is a single domain example, therefore no gateway is present -->
+ </listGateways>
+ <listDomains>
+<!-- <domain>
+ <id>0</id>
+ <name>PulseAudio</name>
+ <busName>org.genivi.audiomanager</busName>
+ <nodeName>pulseaudio</nodeName>
+ <early>FALSE</early>
+ <complete>TRUE</complete>
+ <state>DS_CONTROLLED</state>
+ <registrationType>REG_ROUTER</registrationType>
+ </domain> -->
+<!-- add 10-Aug -->
+ <domain>
+ <id>0</id>
+ <name>SoundManager</name>
+ <busName>org.genivi.audiomanager</busName>
+ <nodeName>SoundManager</nodeName>
+ <early>FALSE</early>
+ <complete>TRUE</complete>
+ <state>DS_CONTROLLED</state>
+ <registrationType>REG_ROUTER</registrationType>
+ </domain>
+<!-- add 10-Aug -->
+ </listDomains>
+ <listClasses>
+ <class>
+ <name>BASE</name>
+ <type>C_PLAYBACK</type>
+ <priority>1</priority>
+ <topology>Microchip#MOST:0#Multichannel^rsnd-dai.0-ak4642-hifi#Analog#Stereo=mediaplayer^music^ALSA#Playback^radio</topology>
+ </class>
+ <class>
+ <name>INT</name>
+ <type>C_PLAYBACK</type>
+ <priority>2</priority>
+ <topology>Microchip#MOST:0#Multichannel^rsnd-dai.0-ak4642-hifi#Analog#Stereo=Navi</topology>
+ </class>
+ <class>
+ <name>PHONE</name>
+ <type>C_PLAYBACK</type>
+ <priority>3</priority>
+ <topology>Microchip#MOST:0#Multichannel^rsnd-dai.0-ak4642-hifi#Analog#Stereo=phone</topology>
+ </class>
+ </listClasses>
+ <listPolicies>
+ <!--Connect Policy Start-->
+ <!--BASE Policy-->
+ <policy>
+ <trigger>USER_CONNECTION_REQUEST</trigger>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "BASE"</condition>
+ <condition>connectionState(CONNECTIONOFCLASS, REQUESTING, OTHERS) INC CS_CONNECTED</condition>
+ <action>
+ <type>ACTION_SUSPEND</type>
+ <param>
+ <className>"BASE"</className>
+ <connectionState>CS_CONNECTED</connectionState>
+ </param>
+ </action>
+ </process>
+ </policy>
+ <!--INT policy-->
+ <policy>
+ <trigger>USER_CONNECTION_REQUEST</trigger>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "INT"</condition>
+ <action>
+ <type>ACTION_LIMIT</type>
+ <param>
+ <className>"BASE"</className>
+ <volume>-1000</volume>
+ <pattern>01</pattern>
+ </param>
+ </action>
+ </process>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "INT"</condition>
+ <condition>connectionState(CONNECTIONOFCLASS, REQUESTING, OTHERS) INC CS_CONNECTED</condition>
+ <condition>priority(CONNECTIONOFCLASS, REQUESTING, OTHERS) LT priority(CONNECTION, REQUESTING)</condition>
+ <action>
+ <type>ACTION_PUSH</type>
+ <param>
+ <className>"INT"</className>
+ <order>O_NEWEST</order>
+ </param>
+ </action>
+ <break>TRUE</break>
+ </process>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "INT"</condition>
+ <condition>connectionState(CONNECTIONOFCLASS, REQUESTING, OTHERS) INC CS_CONNECTED</condition>
+ <action>
+ <type>ACTION_PUSH</type>
+ <param>
+ <className>"INT"</className>
+ <order>O_OLDEST</order>
+ </param>
+ </action>
+ </process>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "INT"</condition>
+ <condition>connectionState(CONNECTIONOFCLASS, "PHONE") INC CS_CONNECTED</condition>
+ <action>
+ <type>ACTION_MUTE</type>
+ <param>
+ <className>REQUESTING</className>
+ </param>
+ </action>
+ <action>
+ <type>ACTION_CONNECT</type>
+ <param>
+ <className>REQUESTING</className>
+ </param>
+ </action>
+ <break>TRUE</break>
+ </process>
+ </policy>
+ <!--PHONE policy-->
+ <policy>
+ <trigger>USER_CONNECTION_REQUEST</trigger>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "PHONE"</condition>
+ <action>
+ <type>ACTION_LIMIT</type>
+ <param>
+ <className>"BASE"</className>
+ <volume>-1000</volume>
+ <pattern>02</pattern>
+ </param>
+ </action>
+ </process>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "PHONE"</condition>
+ <condition>connectionState(CONNECTIONOFCLASS, "INT") INC CS_CONNECTED</condition>
+ <action>
+ <type>ACTION_MUTE</type>
+ <param>
+ <className>"INT"</className>
+ </param>
+ </action>
+ </process>
+ <process>
+ <condition>name(SINK, REQUESTING) EQ "AMP"</condition>
+ <action>
+ <type>ACTION_CONNECT</type>
+ <param>
+ <className>REQUESTING</className>
+ <timeOut>5000</timeOut>
+ </param>
+ </action>
+ <break>TRUE</break>
+ </process>
+ </policy>
+ <!--Connect policy end-->
+ <!--Disconnect policy start-->
+ <policy>
+ <trigger>USER_DISCONNECTION_REQUEST</trigger>
+ <process>
+ <action>
+ <type>ACTION_DISCONNECT</type>
+ <param>
+ <sourceName>REQUESTING</sourceName>
+ <sinkName>REQUESTING</sinkName>
+ </param>
+ </action>
+ </process>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "INT"</condition>
+ <action>
+ <type>ACTION_UNLIMIT</type>
+ <param>
+ <className>"BASE"</className>
+ <pattern>01</pattern>
+ </param>
+ </action>
+ </process>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "INT"</condition>
+ <condition>connectionState(CONNECTIONOFCLASS, REQUESTING, OTHERS) INC CS_CONNECTED</condition>
+ <action>
+ <type>ACTION_POP</type>
+ <param>
+ <className>"INT"</className>
+ <order>O_OLDEST</order>
+ </param>
+ </action>
+ </process>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "PHONE"</condition>
+ <condition>connectionState(CONNECTIONOFCLASS, "INT") INC CS_CONNECTED</condition>
+ <action>
+ <type>ACTION_UNMUTE</type>
+ <param>
+ <className>"INT"</className>
+ </param>
+ </action>
+ </process>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "PHONE"</condition>
+ <action>
+ <type>ACTION_UNLIMIT</type>
+ <param>
+ <className>"BASE"</className>
+ <pattern>02</pattern>
+ </param>
+ </action>
+ </process>
+ <process>
+ <condition>name(CLASS, REQUESTING) EQ "BASE"</condition>
+ <condition>connectionState(CONNECTIONOFCLASS, "BASE") INC CS_SUSPENDED</condition>
+ <action>
+ <type>ACTION_RESUME</type>
+ <param>
+ <className>"BASE"</className>
+ <connectionState>CS_SUSPENDED</connectionState>
+ </param>
+ </action>
+ </process>
+ </policy>
+ <!-- default volume policy start -->
+ <policy>
+ <trigger>USER_SET_VOLUME</trigger>
+ <process>
+ <action>
+ <type>ACTION_SET_VOLUME</type>
+ <param>
+ <sinkName>REQUESTING</sinkName>
+ </param>
+ </action>
+ </process>
+ </policy>
+ <!-- default volume policy end -->
+ <!-- default mute policy start -->
+ <policy>
+ <trigger>USER_SET_SINK_MUTE_STATE</trigger>
+ <process>
+ <condition>muteState(USER,REQUESTING) EQ MS_MUTED</condition>
+ <action>
+ <type>ACTION_MUTE</type>
+ <param>
+ <sinkName>REQUESTING</sinkName>
+ </param>
+ </action>
+ </process>
+ <process>
+ <condition>muteState(USER,REQUESTING) EQ MS_UNMUTED</condition>
+ <action>
+ <type>ACTION_UNMUTE</type>
+ <param>
+ <sinkName>REQUESTING</sinkName>
+ </param>
+ </action>
+ </process>
+ </policy>
+ <!-- default mute policy end -->
+ <!-- default set sink sound property policy start -->
+ <policy>
+ <trigger>USER_SET_SINK_MAIN_SOUND_PROPERTY</trigger>
+ <process>
+ <action>
+ <type>ACTION_SET_PROPERTY</type>
+ <param>
+ <sinkName>REQUESTING</sinkName>
+ </param>
+ </action>
+ </process>
+ </policy>
+ <!-- default set sink sound property policy end -->
+ <!-- default set source sound property policy start -->
+ <policy>
+ <trigger>USER_SET_SOURCE_MAIN_SOUND_PROPERTY</trigger>
+ <process>
+ <action>
+ <type>ACTION_SET_PROPERTY</type>
+ <param>
+ <sourceName>REQUESTING</sourceName>
+ </param>
+ </action>
+ </process>
+ </policy>
+ <!-- default set source sound property policy end -->
+ <!-- default connect policy start -->
+ <policy>
+ <trigger>USER_CONNECTION_REQUEST</trigger>
+ <process>
+<!-- <action>
+ <type>ACTION_MUTE</type>
+ <param>
+ <className>REQUESTING</className>
+ <timeOut>5000</timeOut>
+ </param>
+ </action> -->
+ <action>
+ <type>ACTION_CONNECT</type>
+ <param>
+ <className>REQUESTING</className>
+ <timeOut>5000</timeOut>
+ </param>
+ </action>
+<!-- <action>
+ <type>ACTION_UNMUTE</type>
+ <param>
+ <className>REQUESTING</className>
+ </param>
+ </action> -->
+ </process>
+ </policy>
+ <!-- default connect policy end -->
+ </listPolicies>
+ <listSystemProperties>
+ <systemProperty>
+ <type>SYP_DEBUG_LOG</type>
+ <value>5</value>
+ </systemProperty>
+ </listSystemProperties>
+</c:configuration>
diff --git a/conf/soundmanager-dbus.conf b/conf/soundmanager-dbus.conf
new file mode 100644
index 0000000..cacb60e
--- /dev/null
+++ b/conf/soundmanager-dbus.conf
@@ -0,0 +1,18 @@
+<!-- This configuration file specifies the required security policies
+to use the audiomanager command d-bus plugin interface. -->
+
+<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+ <!-- ../system.conf have denied everything, so we just punch some holes -->
+ <policy user="root">
+ <allow own="org.genivi.audiomanager.routing.soundmanager"/>
+ <allow send_destination="org.genivi.audiomanager.routing.soundmanager"/>
+ </policy>
+ <policy at_console="true">
+ <allow send_destination="org.genivi.audiomanager.routing.soundmanager"/>
+ </policy>
+ <policy context="default">
+ <allow send_destination="org.genivi.audiomanager.routing.soundmanager"/>
+ </policy>
+</busconfig>