Android 显示框架学习
houyizi313
NXP/MTK/QCOM Android系统、驱动工程师。
展开
-
Android4.0 Gralloc模块学习笔记(2)
1:kernel层include/linux/fb.hdrivers/video/fbmem.c--------------------------------driver/video/fbcon.c Low level frame buffer based console driver2:gralloc模块hardware/libhardware/modules/gr原创 2013-04-12 17:04:45 · 2176 阅读 · 0 评论 -
Android 2.3 StageFright如何选定OMX组件的?
原文链接地址:http://www.cnblogs.com/super119/archive/2011/09/01/2161896.html stagefright -l就可以看到所有的OMX组件。OMX.PV打头的是Android自带的,软解码的(PV - Packet Video),其他的都是厂商的。那StageFright如何选定使用哪个OMX组件来服务某个特定的decode转载 2013-05-27 11:54:07 · 1150 阅读 · 0 评论 -
Android多媒体开发【11】-- android中OpenMax的实现【2】AwesomePlayer中openmax的入口
原文链接地址:http://blog.csdn.net/tx3344/article/details/8126732AwesomePlayer 中有个变量 [cpp] view plaincopyOMXClient mClient; 让我们看看 OMXClient [cpp] view plainco转载 2013-05-27 10:27:41 · 1512 阅读 · 0 评论 -
Android多媒体开发【10】-- android中OpenMax的实现【1】整体框架
原文链接地址:http://blog.csdn.net/tx3344/article/details/8109185 1.android中用openmax来干啥?有了上一篇AwesomePlayer基本框架及播放流程已经很清楚的看到了,android中的 AwesomePlayer就是用openmax来做(code)编解码,其实在openmax接口设计中,他不光能用来当编解码。通过他的转载 2013-05-27 10:26:20 · 1215 阅读 · 0 评论 -
Android多媒体开发【8】-- AwesomePlayer基本框架及播放流程
原文链接地址:http://blog.csdn.net/tx3344/article/details/8084912点击打开链接 1.通过setDataSource 指定播放器的数据源。可以是URI或者fd.可以是http:// 、rtsp://、本地地址或者本地文件描述符fd。其最终调用是将上层传递来的参数转化为DataSource,为下一步的demu转载 2013-05-27 10:23:35 · 1227 阅读 · 0 评论 -
Android多媒体开发【9】-- OpenMax IL简介
原文链接地址:http://blog.csdn.net/tx3344/article/details/81065451.openmax 简介http://www.khronos.org/openmax/OpenMax是一个多媒体应用程序的框架标准,由NVIDIA公司和Khronos在2006年推出。OpenMAX分为3层:第一层:OpenMax DL(Devel转载 2013-05-27 10:25:12 · 1292 阅读 · 0 评论 -
Android多媒体开发【12】-- android中OpenMax的实现【3】OMX中主要成员
原文链接地址:http://blog.csdn.net/tx3344/article/details/8117908通过上文知道了,每个AwesomePlayer 只有一个OMX服务的入口,但是AwesomePlayer不一定就只需要1种解码器。有可能音视频都有,或者有很多种。这个时候这些解码器都需要OMX的服务,也就是OMX那头需要建立不同的解码器的组件来对应着AwesomePlayer中不转载 2013-05-27 10:29:09 · 1133 阅读 · 0 评论 -
bool findInt32(uint32_t key, int32_t *value)函数 =>个人理解!
最近应用工作原因在看Android多媒体框架的源码!看到了AwesomePlayer.cpp源码!发现有很多 bool findInt32(uint32_t key, int32_t *value);类似的代码!看不懂什么意思!现在豁然开朗!也是个人理解!假设!猜测!做个笔记!AwesomePlayer.cpp里面有如下函数: int32_t displayWidth,原创 2013-05-11 11:59:31 · 2998 阅读 · 0 评论 -
FramebufferNativeWindow() 理解(5)
/* * This implements the (main) framebuffer management. This class is used * mostly by SurfaceFlinger, but also by command line GL application. * * In fact this is an implementation of ANativeWin原创 2013-05-07 16:49:22 · 1354 阅读 · 1 评论 -
mapFrameBufferLocked()理解(4)
在android4.0.4源码里面,static int mapFrameBuffer(struct private_module_t* module)调用了int mapFrameBufferLocked(struct private_module_t* module),真是实现将/dev/graphics/fb%u映射到虚拟地址空间的函数是“mapFrameBufferLocked()”,而搜原创 2013-05-07 15:52:31 · 1374 阅读 · 0 评论 -
Android4.0 framebuffer 学习笔记(1)
1)相关头文件 include/linux/fb.h 一些关键的结构体和宏;drivers/video/fbmem.c 实现了设备的初始化、卸载和文件操作接口;drivers/video/xxxfb.c 自己添加特定的设备驱动文件;2)关键结构体struct fb_var_screeninfo {} 可修改的控制器参数;struct fb_fix_scr原创 2013-04-24 14:18:42 · 980 阅读 · 0 评论 -
SurfaceFlinger调用framebuffer模块、gralloc模块流程(3)
1:frameworks/base/services/surfaceflinger/SurfaceFlinger.cpp //readyToRun初始化整个显示系统status_t SurfaceFlinger::readyToRun(){ LOGI( "SurfaceFlinger's main thread ready to run. "原创 2013-05-06 17:43:19 · 2045 阅读 · 0 评论 -
./system/core/include/system/window.h:326:ANativeWindow()
最近看Android4.1.2 多媒体播放这一块源码老是出现ANativeWindow()这个类,不知道干嘛的!老是搜来搜去!找到它的定义!做个笔记!研究研究! 源码文件:system/core/include/system/window.h struct ANativeWindow{#ifdef __cplusplus ANativeWindo原创 2013-05-16 10:22:54 · 3255 阅读 · 0 评论