#AGL Audio High Level ALSA configuration #This define 2 sounds card with 8 audio roles each #The alsa soft volume control name must match with the HAL Control Name pcm.SoftMixer { type dmix slave {pcm "hw:v1340"} #Jabra Solmate 1 ipc_key 1001 # ipc_key should be unique to each dmix } # ----------------------------------------------------- # Register ControllerHookPlugin (ToiBeFix fullpath) # ----------------------------------------------------- pcm_hook_type.CtlHookPlugin { install "AlsaInstallHook" lib "/home/fulup/Workspace/Audio-4a/alsa-4a/build/alsa-hook/policy_alsa_hook.so" } pcm.Entertainment_Main { type softvol slave.pcm "SoftMixer" control{ name "Entertainment_Volume" } } pcm.Guidance_Main { type softvol slave.pcm "SoftMixer" control{ name "Guidance_Volume" } } pcm.Communications_Main { type softvol slave.pcm "SoftMixer" control{ name "Communications_Volume" } } pcm.Notification_Main { type softvol slave.pcm "SoftMixer" control{ name "Notification_Volume" } } pcm.Warning_Main { type softvol slave.pcm "SoftMixer" control{ name "Warning_Volume" } } pcm.System_Main { type softvol slave.pcm "SoftMixer" control{ name "System_Volume" } } pcm.Startup_Main { type softvol slave.pcm "SoftMixer" control{ name "Startup_Volume" } } pcm.Shutdown_Main { type softvol slave.pcm "SoftMixer" control{ name "Shutdown_Volume" } } # ---------------------------------------------------- # Define one hooked PCM channel per Audio Roles # ---------------------------------------------------- pcm.Multimedia { type hooks slave {pcm "Entertainment_Main"} hooks.0 { comment "Defined used hook sharelib and provide arguments/config to install func" type "CtlHookPlugin" hook_args { # print few log messages (default false) verbose true # uri to audio-4a policy engine uri="unix:/var/tmp/ahl-4a" # timeout in ms (default 500) timeout 5000 # force API synchronous mode synchronous true # api subcall to request a role request { stream_open "{'audio_role': 'entertainment', 'endpoint_type':'sink'}" set_stream_state "{'state':'running'}" } # api subcall to request a role release { stream_close "{}" } # map AGL event on Unix signal. Search in event for json key=value events { sig-02 {search state_event, value 1} sig-31 {search state_event, value 2} sig-32 {search state_event, value 3} } } } }