1

Can anyone who has worked on Android multimedia framework tell me what's the use AwesomePlayer in Android multimedia framework?

2 Answers2

0

AwesomePlayer handles playing, pausing, stopping, and restarting media playback, while doing so in a different manner depending on the type of media.

For audio, AwesomePlayer instantiates and invokes an AudioPlayer component that is used as a wrapper for any audio content. For example, in case only audio is played, AwesomePlayer simply invokes AudioPlayer::start() and remains idle until the audio track finishes or a user submits a new command. During the playback, AudioPlayer uses the MediaSource/OMXCodec object to communicate with the underlying OMX subsystem.

For video, AwesomePlayer invokes AwesomeRenderer‘s video rendering capabilities, while also directly communicating with the OMX subsystem through MediaSource/OMXCodec object (there is no proxy such as AudioPlayer in the case of video playback).

You can find more here.

Rohit
  • 2,646
  • 6
  • 27
  • 52
0

AwesomePlayer is the one sets up communication between different components(Source/Sink/Filters/OMX-IL components).This will be triggered by IPC service MediaPlayerService which in turn is called by MediaPlayer from application layer. Stagefright mainly has main interfaces like MediaSource, MediaExtractor, Writers.

Also, now that MediaCodec is exposed at application layer also (http://developer.android.com/reference/android/media/MediaCodec.html).

To know flow between components and how to connect them, have a look at the test apps provided in AOSP frameworks/av/cmds/stagefright/.

Go browse the source code at http://androidxref.com/. You will learn from the code.

Also look at the articles, For class diagram, http://freepine.blogspot.in/2010/01/overview-of-stagefrighter-player.html

http://quandarypeak.com/2013/08/androids-stagefright-media-player-architecture/