原址

Android流媒体框架在Gingerbread Android2.3版本的时候加入的,其中实现的核心就是NuPlayer。在之前的版本中一般认为Local Playback就用Stagefrightplayer+Awesomeplayer,流媒体用NuPlayer。从现在来看,NuPlayer大有替换掉StagefrightPlayer+AwesomePlayer的趋势,现在NuPlayer也可以完美地实现本地播放。

在实现上NuPlayer和Awesomeplayer不同,NuPlayer基于StagefrightPlayer的基础类构建,利用了更底层的ALooper/AHandler机制来异步地处理请求,ALooper列队消息请求,AHandler中去处理,所以有更少的Mutex/Lock在NuPlayer中。AHnadler机制请参考前面的一篇文章,AHandler机制。 
Awesomeplayer中利用了omxcodec而NuPlayer中利用了Acodec。

Android流媒体在5.0上资源文件主要分为HTTPLiveSource、RTSPSource GenericSource,其中GenericSource是4.1版本加入的。其中RTSP和HLS流是最主要的,两者本别基于RTSP协议和HLS协议。 

NuPlayer整体架构图

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.

【Android多媒体】Android5.0 NuPlayer多媒体框架【1】相关推荐

  1. Android异常-android5.0以上网络请求失败-retry error, curr request is null

    异常描述: 使用Xutils框架做了登录请求,5.0以下和部分5.0android能够正常登录,大部分android5.0的手机发现一直显示正在加载,调试发现,输出错误信息 retry error,c ...

  2. Android NuPlayer播放框架

    原址 0 NuPlayer简介 Android2.3时引入流媒体框架,而流媒体框架的核心是NuPlayer.在之前的版本中一般认为Local Playback就用Stagefrightplayer+A ...

  3. Android 多媒体视频播放一( 多媒体理解与经验分享)

    前言 说到android的多媒体,一把辛酸一把泪,当初听说会多媒体的比较牛掰,公司也有需求,于是乎我也积极的加入研究android多媒体的行列,记得以前刚接触的时候,最开始还是比较头大的,主要是但是很 ...

  4. android 5.0官方安装包,Android5.0刷机包怎么安装 Android5.0刷机包安装教程

    谷歌发布了Android5.0系统,目前陆续公布了可以支持的机型,如果已经知道自己的该机能够配适的话,升级Android5.0也是相当简单的.Android5.0刷机包如何安装? Android5.0 ...

  5. (转)Android高级进阶--插曲-从Android5.0到Android9.0各版本变化

    原文:https://blog.csdn.net/gaoxiaoweiandy/article/details/83216001 从Android5.0到Android9.0 自从公司提出了一些出其不 ...

  6. Android高级进阶--插曲-从Android5.0到Android10各版本变化

    从Android5.0到Android10 一.Android5 1.ANDROID 5.0 行为变更: 声音和振动 (1)如果您当前使用 Ringtone.MediaPlayer 或 Vibrato ...

  7. Android5.0 Telephony框架初步分析--telecomm

    3.2   Telecomm关键类初始化和相互关系 3.2.1          Telecomm简述 Android5.0在Telephony的变化又比较大,增加了一个Telecomm模块,它位于界 ...

  8. android os 2.1,vivo Funtouch OS 2.1细节曝光 ,完美改造Android5.0

    原标题:vivo Funtouch OS 2.1细节曝光 ,完美改造Android5.0 由于设计风格华丽,UI特色鲜明,vivo基于Android 5.0开发的Funtouch OS 2.1曝光后, ...

  9. android 5.0 9300,三星Android5.0升级名单曝光 S2止步4.2

    北京时间3月19日消息,据科技网站vr-zone报道,内部消息人士今天曝光了三星Android 5.0系统升级名单,预计三星将为Galaxy S4在内的5款设备提供Android 5.0升级,并有数款 ...

最新文章

  1. 用户权限_SAP 用户权限
  2. 《精通自动化测试框架设计》—第1章 1.3节五天太久,还能压缩吗
  3. 如何在Git中保存用户名和密码?
  4. opencv 图像 抠图 算法_我讨厌这个绿油油的头像!我用opencv换一下背景
  5. ubuntu10.04下安装Eclipse
  6. esp8266接收到的数据如何存放到数组中_java零基础——数组
  7. 如何在 Apache 中为你的网站设置404页面
  8. java.nio.file 找不到_java - 断言该错误:无法访问路径(找不到java.nio.file.Path) - 堆栈内存溢出...
  9. 指定精确度(*号的使用)
  10. Docker-Windows 2008 R2安装使用
  11. layui - 模板引擎
  12. 《个人信息保护法》自2021年11月1日正式实施
  13. vue 项目完美运行在IE或者360浏览器兼容模式下 踩坑笔记
  14. 阿里云授权和子账号登录
  15. (一)TileMap使用
  16. js数组拆分成几个数组
  17. vscode必备常用插件
  18. 数据查询(sql运算符)
  19. システム関連の完了コード
  20. Windows10 应用商店打不开问题,报错:Code: 0x80072F7D

热门文章

  1. iptables 执行清除命令 iptables -F 要非常小心的
  2. Thrift原理与使用实例
  3. 手机版页面正式发布 html5取代wap(wml)
  4. 一牛人总结的开发流程工具组合
  5. Pass4side EMC E20-817认证考试题库
  6. 汇编语言——寻址方式的综合应用及转移指令的原理
  7. hp 服务器可以安装win7系统安装失败,如何解决win7hp1213打印机安装失败的问题
  8. vue 日历 vue-calendar
  9. 两个摄像头自动切换画面_你知道吗?你的手机摄像头之间会打架
  10. mysql 联合索引 range_MySQL 联合索引使用情况