Android Audio System Introduction

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

When Applications can Roam Freely OSGi Service Platform R4 Peter Kriens Technical Director OSGi
Introducing Campus Networks
Chapter 13 Embedded Systems Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Lets Talk 9+ Emulator e-Tech for Tots CS590 - Ashok Sahu.
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
© 2010 MindTree Limited CONFIDENTIAL: For limited circulation only Slide 1 CONFIDENTIAL: For limited circulation only An automaton that is created from.
Virtual Reality at Boston University Glenn Bresnahan Boston University Scientific Computing and Visualization (
A Unified Approach for Cross- Platform Software Development A Master’s defense By Jeffery Alan Stuart.
Intro Alexei Miagkov: researching GUI networking sound aspects of Java Walter Kammerer: researching networking concepts documenting real-time media concepts.
High Performance Communication using MPJ Express 1 Presented by Jawad Manzoor National University of Sciences and Technology, Pakistan 29 June 2015.
Embedded systems Lecture 25 February 2015.
SKKU Embedded Software Lab Remote Sensor Byunghei Jun Dongsu Kim Dongig Sin.
Android An open handset alliance project Janice Garcia September 18, 2008 MIS 304.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Emerging Platform#4: Android Bina Ramamurthy.  Android is an Operating system.  Android is an emerging platform for mobile devices.  Initially developed.
UFCFX5-15-3Mobile Device Development UFCFX Mobile Device Development An Introduction to the Module.
EtherCAT Protocol Implementation Issues on an Embedded Linux Platform
Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.
Mobile Application Development with ANDROID. Agenda Mobile Application Development (MAD) Intro to Android platform Platform architecture Application building.
About me Yichuan Wang Android Basics Credit goes to Google and UMBC.
Introduction of Tizen : Tizen Overview Chan Seok Kang 2013/03/21.
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Smart Phone Laboratory ECEN 489 Srinivas Shakkottai.
01. Introduction to Android Prof. Oum Saokosal Master of Engineering in Information Systems, South Korea
Video Conferencing-introduction --- IT Acumens. COM --- IT Acumens. COMIT Acumens. COMIT Acumens. COM.
CASE STUDY 1: Linux and Android Tanenbaum & Bo, Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Kernel, processes and threads Windows and Linux. Windows Architecture Operating system design Modified microkernel Layered Components HAL Interacts with.
AIRPLAY SURVEY TANG JIAN-HENG, COMPAL. BonjourJmDNSBonjour Service Avahi Network Protocol Platform iPhone / iPadWindowsMac OSXLinuxAndroid Platform and.
Lect1..ppt - 01/06/05 CDA 6505 Network Architecture and Client/Server Computing Lecture 2 Protocols and the TCP/IP Suite by Zornitza Genova Prodanoff.
2012/03/06 匡建慈. goals  To build a multi-core platform with Hadoop environment.  Hardware architecture  What is Hadoop ?  What to do and what we have.
Mark J. Salamango Chief Pervasive Architect USA TACOM Tel: Fax: Pervasive Computing: Why did the logistics.
A Comparative Study of the Linux and Windows Device Driver Architectures with a focus on IEEE1394 (high speed serial bus) drivers Melekam Tsegaye
Software Integration for Applications with Audio Stream Intelligent Information Hiding and Multimedia Signal Processing, International Conference.
Windows, Linux, Mac, Android, iOS
An Overlay Network Providing Application-Aware Multimedia Services Maarten Wijnants Bart Cornelissen Wim Lamotte Bart De Vleeschauwer.
Real-time multimedia and communication in packet networks iLanga.
Chapter 2 Protocols and the TCP/IP Suite 1 Chapter 2 Protocols and the TCP/IP Suite.
Mobile Application Development with ANDROID Umang Patel(6537) LDCE.
Presentation Layer (Graphical User Interface) AppGUI Logic Layer (Business Logic and data access) Network Discovery Device Information Extraction Network.
Network Virtualization Sandip Chakraborty. In routing table we keep both the next hop IP (gateway) as well as the default interface. Why do we require.
CIS679: RSVP r Review of Last Lecture r RSVP. Review of Last Lecture r Scheduling: m Decide the order of packet transmission r Resource configuration.
Wireless Mesh Networking or Peer to Peer Technology Andre Lukito – Johnsonsu – Wednesday, 9.
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
Accelerometer based motion gestures for mobile devices Presented by – Neel Parikh Advisor Committee members Dr. Chris Pollett Dr. Robert Chun Dr. Mark.
Linux Sound Drivers Framework
WHAT IS COMPUTER ? . A computer is a complex system consisting of both hardware and software components.
1 Mobile Operating Systems BY:- Aashish Uppal CSE-1/7 th Sem (63/ )
ALSA ● James Courtier-Dutton: – Linux Multimedia (Videos, Music, VoIP, Multicast etc.) – Linux Kernel (ALSA) – Linux Software Defined Radio (SDR) – Reverse.
Android Mobile Application Development
Android Application -Architecture.
chapter 6- Android Introduction
Development-Introduction
CMPE419 Mobile Application Development
by: Chao Lai, Stephen Kimble
CarPlay Solutions.
Collaboration on-the-Go
Collaboration on-the-Go
Indigo Doyoung Lee Dept. of CSE, POSTECH
CS 31006: Computer Networks – The Routers
Android App Developing with communication included
Application Development A Tutorial Driven Course
© 2006 ITT Educational Services Inc.
Fiberdyne Systems DSP Audio HAL Fiberdyne Systems
MCI 3G Services Business Plan
Korea Software HRD Center
CMPE419 Mobile Application Development
Presentation transcript:

Android Audio System Introduction

Outline Background Android Audio System Audio Framework Audio HAL

Background

Background Information about this slide Software Android 4.0/4.2 以前 Mint 有報告過 只講有改到的地方 不講 code,只分享概念

Android Audio System

Architecture Audio System The complexity of android audio system Soft real-time requirement Large number of usage scenarios Software phone/media player/… different volume setting/… Hardware earpiece/speaker/hdmi/… mic/bluetooth/… Flexibility design good design pattern performance (Java/JNI/binder/…) 有些能關有些不能關 有新裝置時聲音要轉移 同一個東西在不同地方有不同名稱 裝置有 FM 7.1 聲道

Architecture Audio System Linux Driver Audio HAL Android Framework Java App

AudioTrack/AudioRecord/… (AudioPolicy/AudioFlinger/…) Android Audio System app AudioTrack/AudioRecord/… (AudioPolicy/AudioFlinger/…) Audio HAL (open/read/write/…) Audio Driver control flow pcm data data flow Audio Policy Audio Flinger

Audio Framework

Audio Framework Network Packet Routing sender 1 router receiver 1 Routing path receiver 2 sender 3 receiver 3 sender 4

Audio Framework Audio Routing (play audio) Audio Policy AudioTrack 1 Hardware 1 AudioTrack 2 Audio Flinger Hardware 2 AudioTrack 3 只講 play 部份,record 反之亦然 有其他諸如 Audio System 之類的裝置管理沒講 Hardware 3 AudioTrack 4 Java App Audio Framework Audio HAL

Audio Policy Decide which thread in AudioFlinger should sound be attached. stream  strategy  output stream : VOICE_CALL, TTS, MUSIC, … strategy : PHONE, MUSIC, … output : a thread in AudioFlinger strategy : bridge between software data stream and hardware

Audio Policy

Audio Policy IOProfile (audio_policy.conf) Content Define all the possible I/O devices Define default I/O device Hierarchical structure hardware module profile sampling_rates/channels/formats/devices/flags With IOProfile, audio policy gets better OO structure.

Audio Policy

Audio Flinger Several thread to read/write data Create thread by AudioPolicy mixer thread duplicating thread direct output thread Resampler Non-blocking audio I/O AudioWatchdog 4.0 -> 4.2 自 7xxx ~ 9xxx (Leo 3926) 相關的自 14xxx ~ 20xxx TODO : 5 ~ 9 FIXME : 4 ~ 28

Audio HAL

AudioTrack/AudioRecord/… (AudioPolicy/AudioFlinger/…) Audio HAL app AudioTrack/AudioRecord/… (AudioPolicy/AudioFlinger/…) Audio HAL (open/read/write/…) 1. The original version is provided from SoC vendor. 2. Dynamic library linked by AudioFlinger. Audio Driver Platform Group

Audio HAL ALSA (Advanced Linux Sound Architecture) Audio HAL interface unified interface/SMP/thread-safe/… usespace library alsa-lib tinyalsa tinyplay/tinycap/ tinymix Audio HAL interface volume setting I/O function … Why use Tinyalsa We can use ALSA-lib substitute for Tinyalsacompletely, but we can’t use Tinyalsa substitute for ALSA-lib completely. But,in some times, Tinyalsa can substitute for ALSA-lib to work for some basicfunction. The only reason is that it is smaller and simpler than ALSA-lib. Google Android supplies the Tinyalsa. Audio HAL interface forms changed in Android 4.0.