SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Audio Management in Tizen IVI

Jaska Uimonen
25.10.2013
Introduction

2
Some personal data
• Working for Intel OTC in Finland

• Currently working with Tizen IVI profile
• Past work history in mobile development
• A Member of Murphy team http://01.org/murphy

3
What audio management means in Tizen IVI?
• Policy controlled routing
•

Routing audio streams to their allowed destinations (or possibly to many
destinations)

• Policy controlled volume
•

Volume ramping

•

Muting

•

Static volume change for audio stream’s life time

• Policy controlled stream pre-emption
•
4

Stopping/pausing/killing and possibly restarting conflicting audio streams
Overview

5
What kind of HW configuration could constitute an
IVI audio system?
Internet

Head unit
AVB amp
WLAN

Back Unit
personal devices
6
What audio management means in Tizen IVI?
•

The driver listens to radio

•

Voice guided navigation is on

•

Backseat passengers listen to the
same mp3 music using
headphones

•

The drivers personal phone is
connected to the car’s handsfree
gateway via bluetooth.

•
7

The driver’s phone is ringing and
the incoming call is accepted

mp3
Conclusion: IVI and mobile audio systems are
different
•
•

Possibly multiple users (in
different zones)

•

8

Many simultaneously used
outputs

Possibly multiple
computing units connected
via network
Design and implementation

9
High-level SW design
•

Independent audio management
module inside pulseaudio

•

Applied policies are based on
stream tagging

•

Basic html <audio> and <video>
tags are integrated to the policy

•

10

Audio domains centralized in
pulseaudio

•

For more fine grained policy
handling Murphy resource API
can be used

HTML5

Native App

WebKit
Pulseaudio API
Pulseaudio

Alsa

Bluez

Resource API
Murphy

AVB

Pulseaudio (2)
Many features implemented in pulseaudio-modulemurphy-ivi
• Routing with priority queues
• Volume control with
constraints
• Configuration and scripting
• Resource allocation through
Murphy

11

Pulseaudio

Murphy
Routing

12
Nodes
• New logical model in pulseaudio – Nodes
•

Correspond to pulseaudio sinks and sources

•

Input and output nodes can be freely connected – for e.g. 1:N

•

Nodes are dynamically appearing and reappearing

•

Nodes might have HW limitations

• Nodes can be used for explicit or default routing
•
•

New events will not affect an explicit route

•

Default route is automatic and created at stream creation

•
13

Explicit route is requested by the user

Default route is dynamic and class based
Priority based conflict resolution
•
•

Default routes use class based
stream priorities

•

Class based routing target lists

•

Walking through the streams in
decreasing priority order to make
the routing decision

•

14

Explicit routes have always priority
over default route

In case of conflict explicit routes
are disabled and for default route
the next available target on the list
is chosen
Volume Control

15
Volume control implementation
• Volume control is based on an independent mechanism
• smooth volume ramp up/down of streams or entire devices
• usual volumes left untouched
• real enforcement mechanism, ie. clients can’t override it

• Control points
• Streams
• Devices

• Scriptable
• for configuration, ie. what and how to link together to achieve the
desired effect
16
Volume constraints
• Class based volume constraints
•

For e.g. telephony stream is attenuating music but not navigator

• Generic constraints
•

Can be used for e.g. noise dependent master volume level

•
•

However generic limits can depend on device type or other conditions
From all the applicable generic limits the highest attenuation will be used

• Constraints are combined
•
•
•
17

If the generic limit would be -12dB and
The class limit would be -20dB then the
Actual limit for the stream would be -32dB
Configuration and scripting

18
Configuration and scripting
• Proper configuration and scripting is an essential because
•

We want to run same software in different verticals

•

Different manufacturers want different policies

•

Fast prototyping is essential for product programs

• Pulseaudio-module-murphy-ivi configuration is done with Lua
•

Configuration done at initialization, after that Lua is not executed

• There is also possibility to script some of the functionality
•

19

Lua is executed also at run time
Lua configuration example
• Routing groups
•

Default

•

Phone

• Application classes
•

•

20

Belong to a routing group

Have priorities
Connection to Murphy policy manager

21
Connection to Murphy database
• Module-murphy-ivi can
subscribe to Murphy database
events
• Based on the events LUA
scripting or internal C functions
can be invoked
• This way cross domain policies
can be nicely handled
• Example would be speed
dependent volume
22
Resource allocation through Murphy
• Pulseaudio-module-murphy-ivi
can reserve a resource for you
if configured to do so
• Stream pre-emption works
then automatically, although
not so fine grained as through
Murphy resource API

23

App 1

App 2

Pulseaudio API

Resource API

Pulseaudio

Murphy
THANK YOU!
• Pulseaudio-module-murphy-ivi can be found from
http://github.com/otcshare/pulseaudio-module-murphy-ivi

• Murphy and some documentation can be found from
http://01.org/murphy

24

Mais conteúdo relacionado

Mais procurados

Justin Morris - Enhancing your lync 2013 rollout to make it a killer success ...
Justin Morris - Enhancing your lync 2013 rollout to make it a killer success ...Justin Morris - Enhancing your lync 2013 rollout to make it a killer success ...
Justin Morris - Enhancing your lync 2013 rollout to make it a killer success ...
Nordic Infrastructure Conference
 
Why choose-3 cx-phone-system
Why choose-3 cx-phone-systemWhy choose-3 cx-phone-system
Why choose-3 cx-phone-system
Karren Alipis
 
Kerio Operator Overview
Kerio Operator OverviewKerio Operator Overview
Kerio Operator Overview
rkoscak
 

Mais procurados (20)

Multi-site WinCC 7 Development with Centralized Process Historian & Informati...
Multi-site WinCC 7 Development with Centralized Process Historian & Informati...Multi-site WinCC 7 Development with Centralized Process Historian & Informati...
Multi-site WinCC 7 Development with Centralized Process Historian & Informati...
 
Winthorpe - Let Your Applications Listen... And Talk
Winthorpe - Let Your Applications Listen... And TalkWinthorpe - Let Your Applications Listen... And Talk
Winthorpe - Let Your Applications Listen... And Talk
 
Justin Morris - Enhancing your lync 2013 rollout to make it a killer success ...
Justin Morris - Enhancing your lync 2013 rollout to make it a killer success ...Justin Morris - Enhancing your lync 2013 rollout to make it a killer success ...
Justin Morris - Enhancing your lync 2013 rollout to make it a killer success ...
 
Siemens Open Library- Summit 2016
Siemens Open Library- Summit 2016Siemens Open Library- Summit 2016
Siemens Open Library- Summit 2016
 
IMS Core Introduction for CS Specialist
IMS Core Introduction for CS SpecialistIMS Core Introduction for CS Specialist
IMS Core Introduction for CS Specialist
 
Why choose-3 cx-phone-system
Why choose-3 cx-phone-systemWhy choose-3 cx-phone-system
Why choose-3 cx-phone-system
 
A glimpse of voice technology
A glimpse of voice technologyA glimpse of voice technology
A glimpse of voice technology
 
Dynamic and Scalable Systems Using WinCC OA
Dynamic and Scalable Systems Using WinCC OADynamic and Scalable Systems Using WinCC OA
Dynamic and Scalable Systems Using WinCC OA
 
Advanced Motion Control: Using the New 1500TF Processor and Siemens LAxis Lib...
Advanced Motion Control: Using the New 1500TF Processor and Siemens LAxis Lib...Advanced Motion Control: Using the New 1500TF Processor and Siemens LAxis Lib...
Advanced Motion Control: Using the New 1500TF Processor and Siemens LAxis Lib...
 
Tampa gl resi final 2015
Tampa gl resi final 2015Tampa gl resi final 2015
Tampa gl resi final 2015
 
The Infrastructure is Fundamental: IP-PBX, telephony cards and tools for high...
The Infrastructure is Fundamental: IP-PBX, telephony cards and tools for high...The Infrastructure is Fundamental: IP-PBX, telephony cards and tools for high...
The Infrastructure is Fundamental: IP-PBX, telephony cards and tools for high...
 
Kerio Operator Overview
Kerio Operator OverviewKerio Operator Overview
Kerio Operator Overview
 
Justifying Migration of legacy process control systems
Justifying Migration of legacy process control systemsJustifying Migration of legacy process control systems
Justifying Migration of legacy process control systems
 
Dnl class4-fusion
Dnl class4-fusionDnl class4-fusion
Dnl class4-fusion
 
DEF CON 27 - XIAOHUIHUI - all the 4g modules could be hacked
DEF CON 27 - XIAOHUIHUI - all the 4g modules could be hackedDEF CON 27 - XIAOHUIHUI - all the 4g modules could be hacked
DEF CON 27 - XIAOHUIHUI - all the 4g modules could be hacked
 
Lightning Fast SCADA Development with Open Library for WinCC OA
Lightning Fast SCADA Development with Open Library for WinCC OA Lightning Fast SCADA Development with Open Library for WinCC OA
Lightning Fast SCADA Development with Open Library for WinCC OA
 
What’s new in version 5 of AskoziaPBX? - webinar 2016, English
What’s new in version 5 of AskoziaPBX? - webinar 2016, EnglishWhat’s new in version 5 of AskoziaPBX? - webinar 2016, English
What’s new in version 5 of AskoziaPBX? - webinar 2016, English
 
VoIP Monitoring and Troubleshooting
VoIP Monitoring and TroubleshootingVoIP Monitoring and Troubleshooting
VoIP Monitoring and Troubleshooting
 
What is the Siemens Open Library, and How it Decreased Development Time for E...
What is the Siemens Open Library, and How it Decreased Development Time for E...What is the Siemens Open Library, and How it Decreased Development Time for E...
What is the Siemens Open Library, and How it Decreased Development Time for E...
 
Tips & Tricks for Motion with S7 1500 CPU
Tips & Tricks for Motion with S7 1500 CPUTips & Tricks for Motion with S7 1500 CPU
Tips & Tricks for Motion with S7 1500 CPU
 

Semelhante a TIZEN IVI Audio Management

Barsamian alexander-identifying-network-users
Barsamian alexander-identifying-network-usersBarsamian alexander-identifying-network-users
Barsamian alexander-identifying-network-users
ProQSys
 

Semelhante a TIZEN IVI Audio Management (20)

Migrating to OpenFlow SDNs
Migrating to OpenFlow SDNsMigrating to OpenFlow SDNs
Migrating to OpenFlow SDNs
 
Network security chapter 6 and 7 internet architecture
Network security chapter  6 and 7 internet   architectureNetwork security chapter  6 and 7 internet   architecture
Network security chapter 6 and 7 internet architecture
 
SDN Architecture & Ecosystem
SDN Architecture & EcosystemSDN Architecture & Ecosystem
SDN Architecture & Ecosystem
 
Architecture of OpenFlow SDNs
Architecture of OpenFlow SDNsArchitecture of OpenFlow SDNs
Architecture of OpenFlow SDNs
 
Firewall
FirewallFirewall
Firewall
 
Barsamian alexander-identifying-network-users
Barsamian alexander-identifying-network-usersBarsamian alexander-identifying-network-users
Barsamian alexander-identifying-network-users
 
Software defined networking
Software defined networkingSoftware defined networking
Software defined networking
 
sdnppt-140325015756-phpapp01.pptx
sdnppt-140325015756-phpapp01.pptxsdnppt-140325015756-phpapp01.pptx
sdnppt-140325015756-phpapp01.pptx
 
Sdn ppt
Sdn pptSdn ppt
Sdn ppt
 
Firewall Design and Implementation
Firewall Design and ImplementationFirewall Design and Implementation
Firewall Design and Implementation
 
Firewall Design and Implementation
Firewall Design and ImplementationFirewall Design and Implementation
Firewall Design and Implementation
 
Virtual Private Network
Virtual Private NetworkVirtual Private Network
Virtual Private Network
 
SafeDNS filtering solutions for ISPs & Telecom
SafeDNS filtering solutions for ISPs & TelecomSafeDNS filtering solutions for ISPs & Telecom
SafeDNS filtering solutions for ISPs & Telecom
 
28th TWNIC OPM and TWNOG 2017: Security best practices for network operators
28th TWNIC OPM and TWNOG 2017: Security best practices for network operators28th TWNIC OPM and TWNOG 2017: Security best practices for network operators
28th TWNIC OPM and TWNOG 2017: Security best practices for network operators
 
NetFlow Best Practices - Tips and Tricks to Get the Most Out of Your Network ...
NetFlow Best Practices - Tips and Tricks to Get the Most Out of Your Network ...NetFlow Best Practices - Tips and Tricks to Get the Most Out of Your Network ...
NetFlow Best Practices - Tips and Tricks to Get the Most Out of Your Network ...
 
NetFlow Best Practices - Tips and Tricks to Get the Most Out of Your Network ...
NetFlow Best Practices - Tips and Tricks to Get the Most Out of Your Network ...NetFlow Best Practices - Tips and Tricks to Get the Most Out of Your Network ...
NetFlow Best Practices - Tips and Tricks to Get the Most Out of Your Network ...
 
Vp ns
Vp nsVp ns
Vp ns
 
Firewall, Router and Switch Configuration Review
Firewall, Router and Switch Configuration ReviewFirewall, Router and Switch Configuration Review
Firewall, Router and Switch Configuration Review
 
Firewalls.ppt
Firewalls.pptFirewalls.ppt
Firewalls.ppt
 
Firewalls.ppt
Firewalls.pptFirewalls.ppt
Firewalls.ppt
 

Mais de Ryo Jin

Mais de Ryo Jin (20)

Why is EFL used on Tizen?
Why is EFL used on Tizen?Why is EFL used on Tizen?
Why is EFL used on Tizen?
 
Samsung Z4 User Manual
Samsung Z4 User ManualSamsung Z4 User Manual
Samsung Z4 User Manual
 
Samsung ARTIK 050 (ARTIK ZERO) Modules Data Sheet
Samsung ARTIK 050 (ARTIK ZERO) Modules Data SheetSamsung ARTIK 050 (ARTIK ZERO) Modules Data Sheet
Samsung ARTIK 050 (ARTIK ZERO) Modules Data Sheet
 
Introduction to Watch Face Development with Tizen Studio
Introduction to Watch Face Development with Tizen StudioIntroduction to Watch Face Development with Tizen Studio
Introduction to Watch Face Development with Tizen Studio
 
Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan Driver
Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan DriverTizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan Driver
Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan Driver
 
Panduan Penggunaan Perangkat Wearable Tizen
Panduan Penggunaan Perangkat Wearable TizenPanduan Penggunaan Perangkat Wearable Tizen
Panduan Penggunaan Perangkat Wearable Tizen
 
Cara Menggunakan Smartphone Tizen
Cara Menggunakan Smartphone TizenCara Menggunakan Smartphone Tizen
Cara Menggunakan Smartphone Tizen
 
Gear Fit2 Watchface Design Guide
Gear Fit2 Watchface Design GuideGear Fit2 Watchface Design Guide
Gear Fit2 Watchface Design Guide
 
Samsung Indonesia: Tizen Store
Samsung Indonesia: Tizen StoreSamsung Indonesia: Tizen Store
Samsung Indonesia: Tizen Store
 
Samsung Indonesia: Tizen Wearables
Samsung Indonesia: Tizen WearablesSamsung Indonesia: Tizen Wearables
Samsung Indonesia: Tizen Wearables
 
Samsung Indonesia: Tizen Web Apps
Samsung Indonesia: Tizen Web AppsSamsung Indonesia: Tizen Web Apps
Samsung Indonesia: Tizen Web Apps
 
Samsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native AppSamsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native App
 
Samsung Indonesia: Tizen Platform Overview and IoT
Samsung Indonesia: Tizen Platform Overview and IoTSamsung Indonesia: Tizen Platform Overview and IoT
Samsung Indonesia: Tizen Platform Overview and IoT
 
Russian Tizen Project
Russian Tizen ProjectRussian Tizen Project
Russian Tizen Project
 
Samsung SM-R360 Tizen User Manual
Samsung SM-R360 Tizen User ManualSamsung SM-R360 Tizen User Manual
Samsung SM-R360 Tizen User Manual
 
Tizen Micro Profile for IoT device
Tizen Micro Profile for IoT deviceTizen Micro Profile for IoT device
Tizen Micro Profile for IoT device
 
Panduan Dasar Pemrograman Tizen
Panduan Dasar Pemrograman TizenPanduan Dasar Pemrograman Tizen
Panduan Dasar Pemrograman Tizen
 
The Story of Enlightenment, EFL, Tizen and Wayland
The Story of Enlightenment, EFL, Tizen and WaylandThe Story of Enlightenment, EFL, Tizen and Wayland
The Story of Enlightenment, EFL, Tizen and Wayland
 
Tizen PASS
Tizen PASSTizen PASS
Tizen PASS
 
Tizen PASS
Tizen PASSTizen PASS
Tizen PASS
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

TIZEN IVI Audio Management

  • 1. Audio Management in Tizen IVI Jaska Uimonen 25.10.2013
  • 3. Some personal data • Working for Intel OTC in Finland • Currently working with Tizen IVI profile • Past work history in mobile development • A Member of Murphy team http://01.org/murphy 3
  • 4. What audio management means in Tizen IVI? • Policy controlled routing • Routing audio streams to their allowed destinations (or possibly to many destinations) • Policy controlled volume • Volume ramping • Muting • Static volume change for audio stream’s life time • Policy controlled stream pre-emption • 4 Stopping/pausing/killing and possibly restarting conflicting audio streams
  • 6. What kind of HW configuration could constitute an IVI audio system? Internet Head unit AVB amp WLAN Back Unit personal devices 6
  • 7. What audio management means in Tizen IVI? • The driver listens to radio • Voice guided navigation is on • Backseat passengers listen to the same mp3 music using headphones • The drivers personal phone is connected to the car’s handsfree gateway via bluetooth. • 7 The driver’s phone is ringing and the incoming call is accepted mp3
  • 8. Conclusion: IVI and mobile audio systems are different • • Possibly multiple users (in different zones) • 8 Many simultaneously used outputs Possibly multiple computing units connected via network
  • 10. High-level SW design • Independent audio management module inside pulseaudio • Applied policies are based on stream tagging • Basic html <audio> and <video> tags are integrated to the policy • 10 Audio domains centralized in pulseaudio • For more fine grained policy handling Murphy resource API can be used HTML5 Native App WebKit Pulseaudio API Pulseaudio Alsa Bluez Resource API Murphy AVB Pulseaudio (2)
  • 11. Many features implemented in pulseaudio-modulemurphy-ivi • Routing with priority queues • Volume control with constraints • Configuration and scripting • Resource allocation through Murphy 11 Pulseaudio Murphy
  • 13. Nodes • New logical model in pulseaudio – Nodes • Correspond to pulseaudio sinks and sources • Input and output nodes can be freely connected – for e.g. 1:N • Nodes are dynamically appearing and reappearing • Nodes might have HW limitations • Nodes can be used for explicit or default routing • • New events will not affect an explicit route • Default route is automatic and created at stream creation • 13 Explicit route is requested by the user Default route is dynamic and class based
  • 14. Priority based conflict resolution • • Default routes use class based stream priorities • Class based routing target lists • Walking through the streams in decreasing priority order to make the routing decision • 14 Explicit routes have always priority over default route In case of conflict explicit routes are disabled and for default route the next available target on the list is chosen
  • 16. Volume control implementation • Volume control is based on an independent mechanism • smooth volume ramp up/down of streams or entire devices • usual volumes left untouched • real enforcement mechanism, ie. clients can’t override it • Control points • Streams • Devices • Scriptable • for configuration, ie. what and how to link together to achieve the desired effect 16
  • 17. Volume constraints • Class based volume constraints • For e.g. telephony stream is attenuating music but not navigator • Generic constraints • Can be used for e.g. noise dependent master volume level • • However generic limits can depend on device type or other conditions From all the applicable generic limits the highest attenuation will be used • Constraints are combined • • • 17 If the generic limit would be -12dB and The class limit would be -20dB then the Actual limit for the stream would be -32dB
  • 19. Configuration and scripting • Proper configuration and scripting is an essential because • We want to run same software in different verticals • Different manufacturers want different policies • Fast prototyping is essential for product programs • Pulseaudio-module-murphy-ivi configuration is done with Lua • Configuration done at initialization, after that Lua is not executed • There is also possibility to script some of the functionality • 19 Lua is executed also at run time
  • 20. Lua configuration example • Routing groups • Default • Phone • Application classes • • 20 Belong to a routing group Have priorities
  • 21. Connection to Murphy policy manager 21
  • 22. Connection to Murphy database • Module-murphy-ivi can subscribe to Murphy database events • Based on the events LUA scripting or internal C functions can be invoked • This way cross domain policies can be nicely handled • Example would be speed dependent volume 22
  • 23. Resource allocation through Murphy • Pulseaudio-module-murphy-ivi can reserve a resource for you if configured to do so • Stream pre-emption works then automatically, although not so fine grained as through Murphy resource API 23 App 1 App 2 Pulseaudio API Resource API Pulseaudio Murphy
  • 24. THANK YOU! • Pulseaudio-module-murphy-ivi can be found from http://github.com/otcshare/pulseaudio-module-murphy-ivi • Murphy and some documentation can be found from http://01.org/murphy 24