SlideShare a Scribd company logo
1 of 9
Download to read offline
Text
FxOS Audio Playback 101
Alastor Wu	

2015/06/12
OUTLINE
2
Data flow
!
Outputs selection
GECKO
3
mVideoQueue
MDSM
mAudioQueue
AudioSink AudioStream
AudioLoop()
mAudioSink mAudioStream
Write()
mBuffer
AUDIO PLAYBACK OVERVIEW
GONK
4
AudioTrack
Audio
Buffer
MediaServer
AudioFlinger
AudioPolicy
Service
HAL
Audio
Module
AudioPolicy
Module
Linux
Kernel
ALSA/OSS
Custom Driver
AUDIO PLAYBACK OVERVIEW
FXOS
5
AUDIO PLAYBACK OVERVIEW
Gecko
Gonk
MDSM AudioSink AudioStream Lib Cubeb
AudioTrack AudioSystemNative Framework
AudioFlinger
AudioPolicy	

Service
Media Server
AudioHardware AudioPolicyManagerHAL
Linux Kernel
OpenSL NDK
ANDROID
6
AUDIO OUTPUT DEVICES
StreamTypes Strategies Devices
Audio	

Channel 	

Types
Output	

device
Earpiece 	

Speaker	

Wired headset/phone 	

Bluetooth SCO headset/carkit	

Bluetooth A2DP headphone/speaker
…
Media	

Phone	

Sonification	

Sonification respectful	

DTMF	

Enforce audible
Voice call	

System	

Ring	

Music	

Alarm	

Notification	

BT SCO	

Enforce audible	

DTMF	

TTS	

FM
ANDROID
7
AUDIO OUTPUT PROFILES
Inputs
Outputs
IOProfiles
IOProfiles
Sample rates
Channel masks
Formats
Devices
Modules
primary/a2dp/usb
khz
mono/stereo
mp3/aac/…
speaker/headset…
ANDROID
8
AUDIO PLAYBACK FLOW
AudioTrack
AudioSystem
AudioPolicy	

Service
GetOutput() OpenOutput()
Data flow
AudioFlinger
PlaybackThread
mTracks
Audio	

Mixer
AudioHardware
9
END

More Related Content

Viewers also liked

Google Authorship and AuthorRank
Google Authorship and AuthorRankGoogle Authorship and AuthorRank
Google Authorship and AuthorRankMitesh Sanghvi
 
Google Panda & Penguin Updates
Google Panda & Penguin UpdatesGoogle Panda & Penguin Updates
Google Panda & Penguin UpdatesPratik Dholakiya
 
51 Down To Earth Productivity Quotes
51 Down To Earth Productivity Quotes51 Down To Earth Productivity Quotes
51 Down To Earth Productivity QuotesWorkZone
 
Android audio system(audioflinger)
Android audio system(audioflinger)Android audio system(audioflinger)
Android audio system(audioflinger)fefe7270
 
Android audio system(audioplicy_service)
Android audio system(audioplicy_service)Android audio system(audioplicy_service)
Android audio system(audioplicy_service)fefe7270
 
Android media framework overview
Android media framework overviewAndroid media framework overview
Android media framework overviewJerrin George
 
Android audio system(audio_hardwareinterace)
Android audio system(audio_hardwareinterace)Android audio system(audio_hardwareinterace)
Android audio system(audio_hardwareinterace)fefe7270
 
Android Audio & OpenSL
Android Audio & OpenSLAndroid Audio & OpenSL
Android Audio & OpenSLYoss Cohen
 
Android Multimedia Framework
Android Multimedia FrameworkAndroid Multimedia Framework
Android Multimedia FrameworkPicker Weng
 
Android's Multimedia Framework
Android's Multimedia FrameworkAndroid's Multimedia Framework
Android's Multimedia FrameworkOpersys inc.
 

Viewers also liked (13)

Presentation1
Presentation1Presentation1
Presentation1
 
Social Media
Social MediaSocial Media
Social Media
 
Google Authorship and AuthorRank
Google Authorship and AuthorRankGoogle Authorship and AuthorRank
Google Authorship and AuthorRank
 
Google Panda & Penguin Updates
Google Panda & Penguin UpdatesGoogle Panda & Penguin Updates
Google Panda & Penguin Updates
 
51 Down To Earth Productivity Quotes
51 Down To Earth Productivity Quotes51 Down To Earth Productivity Quotes
51 Down To Earth Productivity Quotes
 
Android audio system(audioflinger)
Android audio system(audioflinger)Android audio system(audioflinger)
Android audio system(audioflinger)
 
Android audio system(audioplicy_service)
Android audio system(audioplicy_service)Android audio system(audioplicy_service)
Android audio system(audioplicy_service)
 
Android media framework overview
Android media framework overviewAndroid media framework overview
Android media framework overview
 
Android audio system(audio_hardwareinterace)
Android audio system(audio_hardwareinterace)Android audio system(audio_hardwareinterace)
Android audio system(audio_hardwareinterace)
 
Android Audio & OpenSL
Android Audio & OpenSLAndroid Audio & OpenSL
Android Audio & OpenSL
 
Android Audio System
Android Audio SystemAndroid Audio System
Android Audio System
 
Android Multimedia Framework
Android Multimedia FrameworkAndroid Multimedia Framework
Android Multimedia Framework
 
Android's Multimedia Framework
Android's Multimedia FrameworkAndroid's Multimedia Framework
Android's Multimedia Framework
 

Similar to FxOS Audio Playback 101

OpenMAX Overview
OpenMAX OverviewOpenMAX Overview
OpenMAX OverviewYoss Cohen
 
Tips for Startups
Tips for StartupsTips for Startups
Tips for Startupskborah
 
Menggabungkan audio ke dalam sajian multimedia 3.english
Menggabungkan audio ke dalam sajian multimedia 3.englishMenggabungkan audio ke dalam sajian multimedia 3.english
Menggabungkan audio ke dalam sajian multimedia 3.englishEko Supriyadi
 
Computer Softwares
Computer SoftwaresComputer Softwares
Computer Softwaresganun231
 
Rockbox at FSCONS 2009
Rockbox at FSCONS 2009Rockbox at FSCONS 2009
Rockbox at FSCONS 2009FSCONS
 
AUDIO DEVICES, FORMATS AND CODECS
AUDIO DEVICES, FORMATS AND CODECSAUDIO DEVICES, FORMATS AND CODECS
AUDIO DEVICES, FORMATS AND CODECSSTEFFI_MEDINA
 
Audio Codec
Audio CodecAudio Codec
Audio Codeclesleyw
 
Jordan smith ig2 task 1 revisited v2
Jordan smith ig2 task 1 revisited v2Jordan smith ig2 task 1 revisited v2
Jordan smith ig2 task 1 revisited v2JordanSmith96
 
Ig2 task 1 work sheet 2
Ig2 task 1 work sheet 2Ig2 task 1 work sheet 2
Ig2 task 1 work sheet 2JoeBrannigan
 
Ig2 task 1 work sheet
Ig2 task 1 work sheetIg2 task 1 work sheet
Ig2 task 1 work sheetGladeatorkid
 
The Lighter Side Of Olympus
The Lighter Side Of OlympusThe Lighter Side Of Olympus
The Lighter Side Of Olympusgr8situation
 
Sound recording glossary improved
Sound recording glossary improvedSound recording glossary improved
Sound recording glossary improvedItsLiamOven
 

Similar to FxOS Audio Playback 101 (20)

audio-codec.docx
audio-codec.docxaudio-codec.docx
audio-codec.docx
 
OpenMAX Overview
OpenMAX OverviewOpenMAX Overview
OpenMAX Overview
 
Tips for Startups
Tips for StartupsTips for Startups
Tips for Startups
 
Menggabungkan audio ke dalam sajian multimedia 3.english
Menggabungkan audio ke dalam sajian multimedia 3.englishMenggabungkan audio ke dalam sajian multimedia 3.english
Menggabungkan audio ke dalam sajian multimedia 3.english
 
Computer Softwares
Computer SoftwaresComputer Softwares
Computer Softwares
 
Rockbox at FSCONS 2009
Rockbox at FSCONS 2009Rockbox at FSCONS 2009
Rockbox at FSCONS 2009
 
AUDIO DEVICES, FORMATS AND CODECS
AUDIO DEVICES, FORMATS AND CODECSAUDIO DEVICES, FORMATS AND CODECS
AUDIO DEVICES, FORMATS AND CODECS
 
Chap66
Chap66Chap66
Chap66
 
JAVA Media Player
JAVA Media PlayerJAVA Media Player
JAVA Media Player
 
Audio Codec
Audio CodecAudio Codec
Audio Codec
 
Slide
SlideSlide
Slide
 
Jordan smith ig2 task 1 revisited v2
Jordan smith ig2 task 1 revisited v2Jordan smith ig2 task 1 revisited v2
Jordan smith ig2 task 1 revisited v2
 
Ig2 task 1 work sheet 2
Ig2 task 1 work sheet 2Ig2 task 1 work sheet 2
Ig2 task 1 work sheet 2
 
Chap62
Chap62Chap62
Chap62
 
Embedded Android : System Development - Part IV
Embedded Android : System Development - Part IVEmbedded Android : System Development - Part IV
Embedded Android : System Development - Part IV
 
Ig2 task 1 work sheet
Ig2 task 1 work sheetIg2 task 1 work sheet
Ig2 task 1 work sheet
 
Audio file format
Audio file formatAudio file format
Audio file format
 
Pod
PodPod
Pod
 
The Lighter Side Of Olympus
The Lighter Side Of OlympusThe Lighter Side Of Olympus
The Lighter Side Of Olympus
 
Sound recording glossary improved
Sound recording glossary improvedSound recording glossary improved
Sound recording glossary improved
 

Recently uploaded

Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 

Recently uploaded (20)

Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 

FxOS Audio Playback 101