- 博客(21)
- 资源 (11)
- 收藏
- 关注
转载 GUI系统之SurfaceFlinger(8)应用程序与BufferQueue的关系
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正。转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/GUI系统之SurfaceFlinger章节目录:blog.csdn.net/uiop78uiop78/article/details/8954508
2013-11-20 10:35:11 777
转载 GUI系统之SurfaceFlinger(7)应用程序的典型绘图流程
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正。转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/GUI系统之SurfaceFlinger章节目录:blog.csdn.net/uiop78uiop78/article/details/89545081
2013-11-20 10:34:33 1221
转载 GUI系统之SurfaceFlinger(6)BufferQueue中的缓冲区分配
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正。转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/GUI系统之SurfaceFlinger章节目录:blog.csdn.net/uiop78uiop78/article/details/89545081.1.1
2013-11-20 10:33:50 777
转载 GUI系统之SurfaceFlinger(5)BufferQueue内部原理
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正。转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/GUI系统之SurfaceFlinger章节目录:blog.csdn.net/uiop78uiop78/article/details/89545081.1 B
2013-11-20 10:33:17 886
转载 GUI系统之SurfaceFlinger(4)opengl es本地窗口SurfaceTextureClient
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正。转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/1.1.1 SurfaceTextureClient针对应用程序端的本地窗口是SurfaceTextureClient,和FramebufferNative
2013-11-20 10:31:49 951
转载 GUI系统之SurfaceFlinger(3)Android中的本地窗口FramebufferNativewindow
1.1 Android中的本地窗口在OpenGL的学习过程中,我们不断提及“本地窗口”(NativeWindow)这一概念。那么对于Android系统来说,它是如何将OpenGL ES本地化的呢,或者说,它提供了什么样的本地窗口?根据整个Android系统的GUI设计理念,我们不难猜想到至少需要两种本地窗口:Ø 面向管理者(SurfaceFlinger)既然SurfaceFlin
2013-11-20 10:30:27 800
转载 GUI系统之SurfaceFlinger(2)Gralloc与Framebuffer
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/1.1 Gralloc与Framebuffer相信做过Linux开发的人对framebuffer不会太陌生,它是内核系统提供的一个与硬件无关的显示抽象层。之所以称之为buffer
2013-11-20 10:30:22 733
转载 GUI系统之SurfaceFlinger(1)OpenGLES与EGL
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/第1章 GUI系统之SurfaceFlinger在进入GUI系统的学习前,建议大家可以先阅读本书应用篇中的“OpenGLES”章节,并参阅OpenGL ES官方
2013-11-20 10:29:52 954
转载 GUI显示系统之SurfaceFlinger--- Gralloc与Framebuffer
GUI显示系统之SurfaceFlinger其它部分完整章节:http://blog.csdn.net/uiop78uiop78/article/details/8954508第1章 GUI系统之SurfaceFlinger在进入GUI系统的学习前,建议大家可以先阅读本书应用篇中的“OpenGLES”章节,并参阅OpenGL ES官方指南。因为Android的GUI系
2013-11-20 10:28:03 876
转载 Android进程线程之同步互斥(一)
1.1.1 Android中的同步与互斥Android系统也提供了自己的同步互斥机制,不过任何技术的本质都是类似的,更多的是把这些本质的东西应用到符合自己要求的场景。目前Android封装的同步互斥类包括:· Mutex头文件在frameworks/native/include/utils/Mutex.h,因为实现与具体的平台有关,我们只关心如何使用它·
2013-11-20 10:26:35 775
转载 Android显示系统之SurfaceFlinger(一)
1.1 SurfaceFlinger的启动SurfaceFlinger的启动和ServiceManager有点类似,它们都属于系统的底层支撑服务,必需在设备开机的早期就运行起来。/*frameworks/base/cmds/system_server/library/System_init.cpp*/extern "C" status_t system_init(){…
2013-11-20 10:23:45 957
转载 Android音频系统之AudioTrack(二)
1.1.1 AudioPolicyService的路由实现我们在AudioPolicyService小节曾将其比作是一个“路由器”,不过还没有深入解析它是如何完成路由选择的。这部分的功能与使用者——AudioTrack有很大关联,所以我们特别将它的实现原理剖析放在这里,以使读者可以综合起来理解。路由器功能由如下几个部分组成:l 与发送方(AudioTrack)的接口就好像路由器首
2013-11-20 10:22:11 1042
转载 Android音频系统之AudioTrack(一)
1.1 AudioTrack1.1.1 AudioTrack应用实例对于Android应用开发人员来讲,音频回放最熟悉的莫过于MediaPlayer,而AudioTrack相信用的人相对会少很多。这是因为MediaPlayer提供了更完整的封装和状态控制,使得我们用很少的代码就可以实现一个简单的音乐播放器。而相比MediaPlayer,AudioTrack更为精练、高效,实际上MediaP
2013-11-20 10:20:43 1062
转载 Android音频系统之AudioPolicyService
1.1 AudioPolicy Service在AudioFlinger小节,我们反复强调它只是策略的执行者,而AudioPolicyService则是策略的制定者。这种分离方式有效地降低了整个系统的藕合性,而且为各个模块独立扩展功能提供了保障。1.1.1 AudioPolicyService概述汉语中有很多与策略有关联的俗语,比如“因地制宜”、“具体问题具体分析”;战争中只遵照兵书制
2013-11-20 10:20:32 965
转载 Android音频系统之AudioFlinger(四)
1.1.1 AudioMixer每一个MixerThread都有一个唯一对应的AudioMixer(在MixerThread中用mAudioMixer表示),它的作用如其名所表示的,就是为了完成音频的混音操作。 图 13‑14 MixerThread示意图 如上图,MixerThread对外开放的接口主要涉及到Parameter(比如setPar
2013-11-20 10:19:31 1051
转载 Android音频系统之AudioFlinger(三)
1.1.1 PlaybackThread的循环主体当一个PlaybackThread进入主循环后(threadLoop),音频事务就正式开启了。仔细观察的话,我们会发现这个循环中会不断地调用以“threadLoop_”开头的若干接口,比如threadLoop_mix、threadLoop_sleepTime、threadLoop_standby等等。以这样的前缀开头,是因为这些函数都是在thr
2013-11-20 10:18:50 1027
转载 Android音频系统之AudioFlinger(二)
1.1.1 音频设备的管理虽然AudioFlinger实体已经成功创建并初始化,但到目前为止它还是一块静态的内存空间,没有涉及到具体的工作。从职能分布上来讲,AudioPolicyService是策略的制定者,比如什么时候打开音频接口设备、某种Stream类型的音频对应什么设备等等。而AudioFlinger则是策略的执行者,例如具体如何与音频设备通信,如何维护现有系统中的音频设备,以及多
2013-11-20 10:17:16 1263
转载 Android音频系统之AudioFlinger(一)
1.1 AudioFlinger在上面的框架图中,我们可以看到AudioFlinger(下面简称AF)是整个音频系统的核心与难点。作为Android系统中的音频中枢,它同时也是一个系统服务,启到承上(为上层提供访问接口)启下(通过HAL来管理音频设备)的作用。只有理解了AudioFlinger,才能以此为基础更好地深入到其它模块,因而我们把它放在前面进行分析。 1.1.1 AudioF
2013-11-20 10:16:01 1036
转载 Android音频系统之音频框架
1.1 音频框架转载请注明,From LXS, http://blog.csdn.net/uiop78uiop78/article/details/8796492Android的音频系统在很长一段时间内都是外界诟病的焦点。的确,早期的Android系统在音频处理上相比于IOS有一定的差距,这也是很多专业的音乐播放软件开发商没有推出Android平台产品的一个重要原因。但这并不代表它的音
2013-11-20 10:14:35 1356
转载 Android音频系统之音频基础
转载请注明:LXS, http://blog.csdn.net/uiop78uiop78/article/details/8787779对于一部嵌入式设备来说,除了若干基础功能外(比如手机通话、短信),最重要的可能就是多媒体了——那么一个最简单的问题,什么是多媒体呢?这个术语对应的英文单词是“Multi-Media”,直译过来就是多媒体。名称就很好地解释了它的含义,
2013-11-20 10:11:09 1546
转载 智能电话CODEC的音频整合
电话CODEC通常带有一个脉冲编码调制(Pulse Code Modulation,PCM)接口。严格来说,PCM概念包含了今天我们正在使用的大多数数字格式,其中包括I2S;PCM的初衷是将数字编码和诸如调频之类的模拟技术加以区别。然而,在数字电话中,PCM通常指一种特定的,与Hi-Fi立体声不兼容的单音数据格式。计算机音频的出现也孕育了另一类接口的的出现。由于质量要求与现有消费音频市场类似,
2013-11-19 16:21:56 2064 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人