stagefright框架(三)-选择Video Decode
(1) Video decoder是在onPrepareAsyncEvent中的initVideoDecoder被决定的
OMXCodec::Create()会回传video decoder给mVideoSource。
sp<MediaSource> OMXCodec::Create(&omx, &meta, createEncoder, &source, matchComponentName) findMatchingCodecs(mime, ..., &matchingCodecs); ........ (2) for (size_t i = 0; i < matchingCodecs.size(); ++i) softwareCodec = if (softwareCodec != NULL) return softwareCodec; if (err == OK) |
(2) 根据mVideoTrack的MIME从kDecoderInfo挑出合适的components
matchingCodecs->push(String8(componentName)); static const CodecInfo kDecoderInfo[] = |
GetCodec会依据mime从kDecoderInfo挑出所有的component name,然后存到matchingCodecs中。
(3) 根据matchingCodecs中component的顺序,我们会先去检查其是否为software decoder
for (i = 0; i < sizeof(kFactoryInfo)/sizeof(kFactoryInfo[0]); ++i) |
所有的software decoder都会被列在kFactoryInfo中,我们藉由传进来的name来对应到适合的decoder。
(4) 如果该component不是software decoder,则试著去配置对应的OMX component
OMX_ERRORTYPE OMXMaster::makeComponentInstance(name, ...) OMX_ERRORTYPE OMXPVCodecsPlugin::makeComponentInstance(name, ...) OMX_ERRORTYPE OMX_MasterGetHandle(...) |
(5) 若该component为OMX deocder,则回传;否则继续检查下一个component
最新文章
- 约瑟夫环问题(c++)
- Windows-mysql5.7安装
- 使用ASP.NET MVC、Rabbit WeixinSDK和Azure快速开发部署微信后台
- Linux内核学习之道
- hdu 2837 坑题。
- 关于Apache Commons-Lang的总结
- SharePoint 2010 PowerShell 系列 之 备份、还原、部署 .WSP
- Groovy 数组操作
- PC--CSS优化
- USACO1.3.4 Combination Lock
- PageRank在Hadoop和spark下的实现以及对比
- 原生js反转字符串
- 实战项目——mysql主从架构的实现
- 【ANT】taskdef class org.programmerplanet.ant.taskdefs.jmeter.JMeterTask cannot be found using the classloader AntClassLoader[]解决办法
- SharePoint WebService 之更新审批状态
- 2018-2019-2 20175328 《Java程序设计》第八周学习总结
- java过滤器(过滤器排序)
- redhat 7.5 更换 yum源
- LomBok插件的使用
- Create rolling monthly, weekly and daily Logstash indices
热门文章
- 浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路
- Android窗口管理服务WindowManagerService对窗口的组织方式分析
- 该如何关闭thinkphp的缓存呢?有下面几种方法可参考:
- Android 打造自己的个性化应用(二):应用程序内置资源实现换肤功能
- ios10 适配问题总结
- NSData、NSString 、 NSFileManager
- OC对象:封装、继承、多态的使用举例一
- NSURL
- OD调试1--第一个win32程序
- Visual Studio .NET、.NET Framework和C#之间的联系