Your SlideShare is downloading. ×
Android internals 08 - System start up, Media subsystem (rev_1.1)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Android internals 08 - System start up, Media subsystem (rev_1.1)

5,125

Published on

Course: Android Internals …

Course: Android Internals
Lecture 8: System start up, Media subsystem

Published in: Education, Technology
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,125
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
475
Comments
0
Likes
8
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Android internals Egor Elizarov SPbSU 2012
  • 2. Legal info Android internals by Egor Elizarov is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License You are free to – copy, distribute, display, and perform the work – make derivative works Under the following conditions – Attribution. You must give the original author credit – Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one All pictures and trademarks are the property of their respective owners. Use of these trademarks and pictures is subject to owners permissions. Corrections, suggestions, contributions and translations are welcome! 2
  • 3. Lecture 8 System start up Media subsystem yegor.yelizarov(at)gmail.comRev: 1.1 http://vk.com/android_internalsLast update: 06/01/2012 3 Egor Elizarov SPbSU 2012
  • 4. Previous time Graphic subsystem role Main “players” Renderscript Double buffering 2D/3D acceleration 4 Egor Elizarov SPbSU 2012
  • 5. Linux start up flow 5 Egor Elizarov SPbSU 2012
  • 6. Android init● Simple “toolbox” to execute boot script● Android init language (system/core/init/readme.txt)● Contains tools like chown, chmod, mount, etc.● Differs from Android toolbox (system/core/toolbox/) 6 Egor Elizarov SPbSU 2012
  • 7. Android Init Language● Action – named sequence of commands to be executed on trigger● Service – named program to be launched● Command – simple routines from “toolbox”● Triggers – strings can be used to match certain kind of events● Options – modifiers to service (ex: user, group) 7 Egor Elizarov SPbSU 2012
  • 8. Init.rc example 8 Egor Elizarov SPbSU 2012
  • 9. Android start up flow 9 Egor Elizarov SPbSU 2012
  • 10. Final system start up● Remount system (Ex: /data, /system partitions)● Fix permissions● Start services and daemons (Ex: mediaserver, rild)● Setup properties● Start Zygote and system server (initialize java services) 10 Egor Elizarov SPbSU 2012
  • 11. Add new command to init 11 Egor Elizarov SPbSU 2012
  • 12. Media subsystem● Provides media API● Provides audio/video processing features● Restricts access to media and devices● Use HW acceleration if possible● Code: frameworks/base/media 12 Egor Elizarov SPbSU 2012
  • 13. Media services 13 Egor Elizarov SPbSU 2012
  • 14. Java/middleware interaction 14 Egor Elizarov SPbSU 2012
  • 15. Standart media player 15 Egor Elizarov SPbSU 2012
  • 16. Simple stagefright flow 16 Egor Elizarov SPbSU 2012
  • 17. Stagefright add new decoder 17 Egor Elizarov SPbSU 2012
  • 18. HW acceleration● HW accelerated codecs● Khronos OpenMAX IL – codec level API● Khronos OpenMAX AL – player level API● Rendering can be done through DMA 18 Egor Elizarov SPbSU 2012
  • 19. HW acceleration scheme 19 Egor Elizarov SPbSU 2012
  • 20. My masters thesis (before) * * rowboat-donut branch 20 Egor Elizarov SPbSU 2012
  • 21. My masters thesis (after) * * rowboat-donut-dsp branch 21 Egor Elizarov SPbSU 2012
  • 22. Audio 22 Egor Elizarov SPbSU 2012
  • 23. Camera 23 Egor Elizarov SPbSU 2012
  • 24. Content restrictions 24 Egor Elizarov SPbSU 2012
  • 25. Next Time● Power Management● Sensors● Input subsystem● Data storage 25 Egor Elizarov SPbSU 2012
  • 26. Useful links● http://vk.com/android_internals● http://elinux.org/Android_Booting● $(ANDROID_ROOT)/system/core/init/readme.txt● http://freepine.blogspot.com/2010/01/overview-of- stagefrighter-player.html● http://khronos.org 26 Egor Elizarov SPbSU 2012
  • 27. Useful links (2)● http://rxwen.blogspot.com/2010/01/understanding- android-media-framework.html● http://se.math.spbu.ru/SE/diploma/2010/Elizarov_Ego r_544.pdf● http://dl.google.com/io/2009/pres/Mastering_the_And roid_Media_Framework.pdf● http://www.netmite.com/android/mydroid/developme nt/pdk/docs/audio_sub_system.htm 27 Egor Elizarov SPbSU 2012
  • 28. Thanks to Sergey Matyukevich for review and advices (www.linkedin.com/pub/sergey- matyukevich/31/889/769) Nikolay F. Fominykh for review and advices Vladimir Barinov for review and advices (http://www.linkedin.com/pub/vladimir- barinov/2a/18a/bab) 28

×