分享

Android Http Live streaming

 Kevin之泊心亭 2011-12-22

Android 3.x中将HTTP Live streaming的处理单独出来一个NuPlayer,独立于Stagefright这个框架。应该是针对Http Live的特点做了相关优化。

    Http Live streaming是未来流媒体发展的一个趋势,这个我会紧跟。

    Android 2.x中Http Live视频的体验是远远比不了iPad的。不知3.x中是否将这块儿独立出来后有所改善。目前评测的几款Android 3.x Pad在多媒体这块儿都还做得很不够,支持的格式不够多,仅有的几种格式还支持得不全。

    HTTP Live Streaming is separated from Stagefright on the recent release, which is basically another light-weighted playback engine, except it only supports the fixed container and codecs format currently.

    It seems that the author really prefers rewriting than refactoring:)

    Unlike Awesomeplayer, NuPlayer is built upon Stagefright's foundation classes, and leverages the Looper/Handlers mechanism to handle requests asynchronously by queuing them in a message loop, so there are less mutex/lock in place.

  • NuPlayer::Source is the parser module. Actually its interface looks like a combination of MediaExtractor and MediaSource, and it also makes seekTo as an explicit API now.
  • NuPlayer::Decoder connects to ACodec for AVC decoding, and to DecoderWrapper for AAC decoding, which in turn wrapps AAC software decoder in the OpenMAX style. ACodec is functionally similar as OMXCodec in Stagefright, besides the application of State pattern and passing MediaBuffers around with messages.
  • NuPlayer::Render is responsible for rendering audio and also controls when to post video buffers back to NativeWindow for A/V sync.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多