转自:http://blog.csdn.net/hellofeiya/article/details/8601168 每个AwesomePlayer 只有一个OMX服务的入口,但是AwesomePlayer不一定就只需要1种解码器。有可能音视频都有,或者有很多种。这个时候这些解码器都需要OMX的服务 ...
分类:
移动开发 时间:
2017-03-27 23:03:42
阅读次数:
362
不知不觉到第九篇了,感觉还有好多好多没有写,路漫漫其修远兮 ,吾将上下而求索,上篇主要介绍了Stagefright框架及AwesomePlayer的数据解析器,最后我们说道,涉及parse及decod...
分类:
移动开发 时间:
2016-09-14 19:12:10
阅读次数:
257
概述OMX Codec是stagefrightplayer中负责解码的模块。由于遵循openmax接口规范,因此结构稍微有点负责,这里就依照awesomeplayer中的调用顺序来介绍。主要分如下几步:1 mClient->connect2 InitAudioDecoder & InitVideoD...
分类:
其他好文 时间:
2015-08-19 09:23:52
阅读次数:
233
学习了解Mutilmedia Framework有一段时间了,今天闲下来稍微整理整理。OMXCodec.cpp类属于libstagefright,在整个MM PF 相当OMX的适配层,供awesomeplayer调用,而OMX.cpp,OMXNoteInstance.cpp等相当于OpenMax中的...
分类:
其他好文 时间:
2015-08-14 11:33:13
阅读次数:
147
android的多媒体框架中,stagefright其实是AwesomePlayer的代理,就是个皮包公司。status_t StagefrightPlayer::setDataSource( const char *url, const KeyedVector *headers)...
分类:
移动开发 时间:
2015-04-28 20:25:31
阅读次数:
569
1. Media Framework 层次
(1) 应用层
Music, VideoPlayer
(2) JAVA层
MediaPlayer : frameworks/base/media/java/android/media/MediaPlayer.java
(3) JNI
JNI_MediaPlayer -- libmedia_jni.so
frameworks/base/m...
分类:
移动开发 时间:
2015-04-06 18:48:37
阅读次数:
236
Stagefright的編解碼功能是利用OpenMAX框架,而且用的還是OpenCORE之OMX的實作,我們來看一下Stagefright和OMX是如何運作的。(1) OMX_InitOMXClient mClient;AwesomePlayer::AwesomePlayer(){mClient.c...
分类:
其他好文 时间:
2014-11-14 14:14:05
阅读次数:
240
1.android中用openmax来干啥?android中的AwesomePlayer就 是用openmax来做(code)编解码,其实在openmax接口设计中,他不光能用来当编解码。通过他的组件可以组成一个完整的播放器,包括 sourc、demux、decode、output。但是为什么and...
分类:
移动开发 时间:
2014-11-14 10:32:18
阅读次数:
229
这一篇文章接着之前的prepare,讲play的流程
前面的流程省略,直接从AwesomePlayer的Play()开始讲。
status_t AwesomePlayer::play() {
……
return play_l();
}
status_t AwesomePlayer::play_l() {
……
if (mAudioSource != NUL...
分类:
其他好文 时间:
2014-09-23 03:07:13
阅读次数:
351
上一篇文章主要是參照AwesomePlayer直接用SoftwareRenderer类来显示yuv,为了能用到这个类,不惜依赖了libstagefright、libstagefright_color_conversion等动态静态库,从而造成程序具有非常高的耦合度,也不便于我们理解yuv数据直接.....
分类:
移动开发 时间:
2014-08-28 19:33:45
阅读次数:
277