研究了一段时间Android的surface系统,一直执着地认为所有在surface或者屏幕上显示的画面,必须要转换成RGB才能显示,yuv数据也要通过颜色空间转换成RGB才能显示。可最近在研究stagefright视频显示时发现,根本找不到omx解码后的yuv是怎么转换成RGB的代码,yuv数据在render之后就找不到去向了,可画面确确实实的显示出来了,这从此颠覆了yuv必须要转换成RGB才能显示的真理了。...
分类:
移动开发 时间:
2014-07-06 10:03:42
阅读次数:
570
之所以单独把这块内容提炼出来,在于其具备的一定的层次性,结构上具备统一性,API函数的设计需要实现OMX架构独有的接口。1. 在上一博文Android4.2.2下Stagefright多媒体架构中的A31的OMX插件和Codec组件 中我们提到,通过Binder架构,在MPS的线程上创建完一个实际的编解码器节点后,获取到了一个node:node_id。如下所示将会根据相关的节点信息,创建一个MPS...
分类:
移动开发 时间:
2014-05-26 05:03:47
阅读次数:
312
前沿:在前面的博文中,基本提到的是stagefright相关的控制流,具体分析了android架构中的MediaExtractor、AwesomePlayer、StagefrightPlayer、OMXCodec等的创建,底层OMXNodinstance实例的创建。分析了OMX最底层插件库、编解码器组件的架构以及如何创建属于我们自己的OMX Plugin。分析源码架构的另一个关键是数据流的分析,从...
分类:
移动开发 时间:
2014-05-24 19:57:18
阅读次数:
316
本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。欢迎和大家交流。qq:1037701636 email: gzzaigcn2012@gmail.com 在前面的博文中提到,AwesomePlayer::onPrepareAsyncEvent()开始进行Codec解码器组件的获取以及创建,这里和大家分享。...
分类:
移动开发 时间:
2014-05-23 02:02:13
阅读次数:
442
前沿:回首往事,记得2012年的时候,那时还年少不知,就研究过android的多媒体框架,那是还是2.3的源码,看过stagefright的源码,记得当时是特别的痛苦。而今,再次看起这个多媒体模块的代码,突然间觉得豁然开朗,模块间的层次清晰,有据可依,遇到的疑问往往都能迎刃而解。我想,也许这就是2年多来的进步与经验吧。感谢时间,让我学会了成才。...
分类:
移动开发 时间:
2014-05-21 09:56:50
阅读次数:
425
Android MediaPlayer UML类图...
分类:
移动开发 时间:
2014-05-21 09:48:42
阅读次数:
390