Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

37

Share

A slightly deeper dive into Stagefright

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

A slightly deeper dive into Stagefright

  1. 1. Stagefright – how it works Alexy Mathew Joseph
  2. 2. Who am I? Works at Pathpartner(pathpartnertech.com) as a Technical Architect. Working on multimedia frameworks and systems optimization for 8 years. Contact: galahad@gmail.com
  3. 3. Flow Overview Architecture File playback Recording Streaming Hardware accelerated rendering Tweaking and optimizing Questions?
  4. 4. Overview Multimedia frameworks - the weight lifters
  5. 5. Stagefright The primary multimedia framework available on Android Feature set  Supports playback of multiple file formats  Integrates with OpenMax codecs  Recording  RTSP streaming  HTTP streaming
  6. 6. The scary block diagram +mSource MP3Decoder FileSource MPEG4Source MediaSource +mAudioSource DataSource +mVideoSource HTTPDataSour AVCDecoder ce +mSource MP3Source MediaExtractor OMXCodec AwesomePlayer IOMX MPEG4Extractor MP3Extractor TimedEventQueue OMX OMXClient AwesomeRenderer AudioPlayer AudioTrack AwesomeRem AwesomeLocalR (media OMXMaster IOMXRender framework) oteRenderer enderer 0...n TimeSource MediaPlayerBase:AudioSink SoftwareRen (media framework)OMXPluginBase OMXRender VideoRender der SystemTimeSource MediaPlayerInterfaceOMXPVCodecs HardwareRe (media framework) iSurface OMXPlugin StageFrightPlayer Plugin nder (surfaceflinger)
  7. 7. Components DataSource Media Extractor Media Source Media Buffer Meta Data OMXCodec Camera Source Media Writer
  8. 8. File playback Awesome Player  File playback  HTTP  RTSP Components  Timed queue  AV sync
  9. 9. Caveats AV synch tweaks. Fast forward/rewind Codec configuration
  10. 10. Recording Consists of CameraSource, OMXCodec, MPEG4Writer.
  11. 11. Caveats Exchanging buffers with the camera Hardware codec integration and the troubles
  12. 12. Streaming support RTSP streaming – the basics
  13. 13. Thread Alooper:Looper Thread ALooper HandlerI AMessage ALooperRoster nfo 0..n registerHandler() mTarget post() registerHandler() unregisterHandler() postMessage() AHandler deliverMessage() onMessageReceived()MediaExtra looper() ctor ARTPAssembler +mNotifyMsgARTSPCont AHandlerR ARTSPCon ARTPConne ARTPSource roller eflector<T> MyHan nection ction dler assembleMore() AMPEG4Audio Assembler 0..n +mNotifyMsg ARTPSe AAMRAss AAVCAssem AH263Asse AMPEG4ElementMediaSource APacketSource TrackInfo aryAssembler ssion embler bler mbler MediaWriter ARTPWriter
  14. 14. Components ARTSPController ARTSPConnection ARTPConnection ARTPSource ARTPAssembler  AAMRAssembler is an example
  15. 15. Gaps and further work Jitter buffer Error correction and feedback RTCP handling
  16. 16. Hardware rendering VideoRenderer class Instantiating Hardware overlay
  17. 17. Tweaking and optimizing Copies Latency Slice mode Signaling errors from decoder
  18. 18. References http://freepine.blogspot.com/2010/01/overview-of- stagefrighter-player.html http://freepine.blogspot.com/2010/09/rtsp-in- stagefright-1.html http://freepine.blogspot.com/2010/09/rtsp-in- stagefright-2.html http://iamkcspa.pixnet.net/blog/category/1793816
  19. 19. Questions?
  • fulean1

    Sep. 13, 2018
  • LeViet37

    Aug. 29, 2018
  • BhanuchandraM

    Jan. 19, 2018
  • saikishore14

    Jan. 7, 2016
  • naveenkaruthedath

    Dec. 31, 2015
  • donglinpeng

    Nov. 21, 2015
  • amarnathbandi

    Sep. 22, 2015
  • Chenchunsheng1

    Jul. 28, 2015
  • DSofterWolf

    Mar. 3, 2015
  • woosokyang

    Dec. 22, 2014
  • pinxue

    Oct. 30, 2014
  • SteveSong

    Oct. 21, 2014
  • cccheng914

    Aug. 23, 2013
  • vivekkumaran

    Aug. 13, 2013
  • shrexview

    Jul. 5, 2013
  • YiLungTsai

    Jun. 25, 2013
  • DengxiangZhou

    Jun. 1, 2013
  • thinkpanda

    Mar. 27, 2013
  • yangshanwu135

    Mar. 2, 2013
  • ccinabro

    Jan. 22, 2013

Views

Total views

23,176

On Slideshare

0

From embeds

0

Number of embeds

243

Actions

Downloads

0

Shares

0

Comments

0

Likes

37

×