Android Multimedia Framework

39,487 views

Published on

This slide shows how the StageFright framework works on the Android.

Published in: Technology, Education
9 Comments
48 Likes
Statistics
Notes
  • Hello dear My name is mariam nasrin, I know that this email will meet you in a good health and also surprisingly but God has his own way of bringing people together. Nice to Meet you I would appreciate if you can reply me back( mariamnasrin2@gmail.com ) So that i can explain you more about me. thank Yours mariam.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • My name is Jessica Luis, and I base in USA...My life is back!!! After 1 years of Broken marriage, my husband left me with two kids . I felt like my life was about to end i almost committed suicide, i was emotionally down for a very long time. Thanks to a spell caster called Dr Mohammed, which i met online. On one faithful day, as I was browsing through the internet,I came across allot of testimonies about this particular spell caster. Some people testified that he brought their Ex lover back, some testified that he restores womb,cure cancer,and other sickness, some testified that he can cast a spell to stop divorce and so on. i also come across one particular testimony,it was about a woman called Sonia,she testified about how he brought back her Ex lover in less than 2 days, and at the end of her testimony she dropped Dr Mohammed's e-mail address. After reading all these,I decided to give it a try. I contacted him via email and explained my problem to him. In just 48hours, my husband came back to me. We solved our issues, and we are even happier than before Dr Mohammed, is really a gifted man and i will not stop publishing him because he is a wonderful man... If you have a problem and you are looking for a real and genuine spell caster to solve all your problems for you. Try High monicaspiritualtemple@gmail.com anytime, he might be the answer to your problems. Here's his contact: monicaspiritualtemple@gmail.com or call him +2348134493948
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • #Android Android Tutorial (Videos and Books) Just $9.95 http://www.dbmanagement.info/Tutorials/Android.htm
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • When I see the user-agent stagefright, is the user actually watching the video on a website or in an internal player ?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • good explanation.. great diagram...
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
39,487
On SlideShare
0
From Embeds
0
Number of Embeds
91
Actions
Shares
0
Downloads
2,338
Comments
9
Likes
48
Embeds 0
No embeds

No notes for slide

Android Multimedia Framework

  1. 1. Android Multimedia  Framework on Jelly Bean Author: Picker
  2. 2. Introduction to OpenMAX
  3. 3. Resource from Khronos::OpenMAX
  4. 4. Resource from Khronos::OpenMAX
  5. 5. fromMultimedia Framework to OpenMAX
  6. 6. Resource from Khronos::OpenMAX
  7. 7. Resource from Khronos::OpenMAX
  8. 8. Go through the OpenMAX Operating System Operating System Multimedia Framework Multimedia Framework OpenMAX IL OpenMAX IL Software & Hardware Codec Software & Hardware Codec
  9. 9. The simple stack architecture Developer API (MediaPlayer) Developer API (MediaPlayer) EventHandler SurfaceHolder StageFright OpenMAX Interface OpenMAX IL Software & Hardware Codec
  10. 10. Big picture of the StageFright
  11. 11. The Simple Workflow
  12. 12. The StageFright Workflow
  13. 13. Path of All the Components
  14. 14. Path of the Source Files frameworks/base/media/java/android/media frameworks/base/media/jni frameworks/av/media/libmedia frameworks/av/media/libmediaplayerservice frameworks/av/media/libstagefright
  15. 15. Big Picture Class Diagram
  16. 16. High­Level Applications Framework
  17. 17. StageFright Framework
  18. 18. OpenMAX Interface
  19. 19. Four Steps for Playing the Media File Step 1:  MediaPlayer mp = new MediaPlayer(); Step 2:  mp.setDataSource(mediaPath); setDataSource Step 3:  mp.prepare(); prepare Step 4:  mp.start(); start
  20. 20. How to set the data source?
  21. 21. The workflow of the setDataSource
  22. 22. The sequence flow of the setDataSource
  23. 23. How to prepare to play?
  24. 24. The workflow of the prepare
  25. 25. The sequence flow of the prepare
  26. 26. How to start the playing?
  27. 27. The workflow of the start
  28. 28. The sequence flow of the start
  29. 29. Synchronization Architecture of StageFright
  30. 30. Synchronization Flow of StageFright
  31. 31. The Synchronization Formula of StageFright sizedone mNumFramesPlayed+ mFrameSize mPositionTimeRealsUs=( )×1000000 mSampleRate mTimeSourceDeltaUs=mPositionTimeRealUs−mPositionTimeMediaUs nowUs= RealTimeUs−mTimeSourceDeltaUs latenessUs=nowUs−timeUs mPositionTimeRealsUs: the time in real playing mPositionTimeMediaUs: the time which is defined in the media source
  32. 32. The Synchronization Conditions Conditions of latenessUs 1. > 500000ll 2. > 40000 3. < -10000 1750 if (latenessUs > 500000ll 1751 && mAudioPlayer != NULL 1752 && mAudioPlayer->getMediaTimeMapping( 1753 &realTimeUs, &mediaTimeUs)) { 1757 mVideoBuffer->release(); 1758 mVideoBuffer = NULL; 1763 postVideoEvent_l(); 1764 return; 1765 }1767 if (latenessUs > 40000) {1768 // Were more than 40ms late. 1793 if (latenessUs < -10000) { 1794 // Were more than 10ms early.1780 mVideoBuffer->release(); 1795 postVideoEvent_l(10000);1781 mVideoBuffer = NULL; 1796 return; 1797 }17871788 postVideoEvent_l();1789 return;1791 }
  33. 33. Conclusion●Easy for maintaining rather than OpenCore●Support Software/Hardware Codecs●Unstable Product ● Rough Mechanisms ● Create the NuPlayer for playing the  multimedia streaming

×