android
文章平均质量分 71
banyao2006
这个作者很懒,什么都没留下…
展开
-
Stagefright (1) - Video Playback的流程
<br /><br />在Android上,預設的多媒體框架(multimedia framework)是OpenCORE。OpenCORE的優點是兼顧了跨平台的移植性,而且已經過多方驗證,所以相當穩定;但是其缺點是過於龐大複雜,需要耗費相當多的時間去維護。從Android 2.0開始,Google引進了架構稍為簡潔的Stagefright,並且有逐漸取代OpenCORE的趨勢。以下我們就先來看看Stagefright是如何播放一個影片檔。<br /><br />Stagefright在转载 2011-01-10 09:34:00 · 1933 阅读 · 0 评论 -
Android OTA 升级之一:编译升级包
Android OTA 升级之一:编译升级包作者: 宋立新Email:zjujoe@yahoo.com前言 OTA 升级是 Android 系统提供的标准软件升级方式。 它功能强大,提供了完全升级、增量升级模式,可以通过 SD 卡升级,也可以通过网络升级。 这里,我们先研究最简单的情况,通过 SD 卡进行完全升级。 如何执行升级就不多转载 2011-06-29 15:33:00 · 1078 阅读 · 0 评论 -
Android OTA 升级之四:进入根文件系统
Android OTA 升级之四:进入根文件系统作者: 宋立新Email:zjujoe@yahoo.com前言 从bootloader 进入Recovery 模式后,首先也是运行Linux内核,该内核跟普通模式没有区别(减轻了BSP开发者的任务)。区别从执行文件系统开始。 Recovery 模式的细节就隐藏在其根文件系统中。 下面,我们就看看进入Re转载 2011-06-29 15:40:00 · 719 阅读 · 0 评论 -
Android OTA 升级之三:生成recovery.img
Android OTA 升级之三:生成recovery.img作者: 宋立新Email:zjujoe@yahoo.com前言 得到了ota升级包后,我们就可以用它来升级系统了。Android 手机开机后,会先运行 bootloader。 Bootloader 会根据某些判定条件(比如按某个特殊键)决定是否进入 recovery 模式。Recovery 模式会装载 r转载 2011-06-29 15:38:00 · 972 阅读 · 0 评论 -
Android OTA 升级之五:updater
Android OTA 升级之五:updater作者: 宋立新Email:zjujoe@yahoo.com前言 可以说,前面分析的OTA升级的各部分代码都是在搭一个舞台,而主角现在终于登场,它就是updater. Google的代码架构设计非常好,各部分尽量松耦合。前面介绍升级脚本时,可知有两种类型的脚本,amend & edify. 他们各自对应一个updater. 这里,我们主要关转载 2011-06-29 15:42:00 · 1056 阅读 · 0 评论 -
如何将 Android带入互联网数字家庭? 系列文章第四篇
作者 章立 ARM公司在第一篇中,我们分享了数字家庭软件平台的发展趋势和特点;在第二篇中,我们归纳了将Android移植到电视、机顶盒平台需要面对的五大技术挑战并重点探讨了挑战1 : 符合电视体验的2D/3D图形性能和用户交互模式方面的挑战;在第三篇中, 我们探讨了更多的挑战, 包括“适合大屏的丰富多媒体影音体验”,“如何集成数字电视相关功能”, “如何推动应用开发者开发适合于TV的Andro转载 2011-11-08 09:53:37 · 961 阅读 · 0 评论 -
连载二:如何将 Android带入互联网数字家庭?
在上一篇中,我们探讨了数字电视/机顶盒软件架构的现状与未来,分享了数字家庭软件平台未来的发展趋势和特点(http://bit.ly/jCvlNs)。在本篇中,我们将一起来探讨为什么Android能够成为未来数字家庭软件平台的选择之一;而我们又如何才能将原本为手持设备量身定做的Android移植到电视/机顶盒平台?1. 首先,我们需要回答的第一个问题就是: Why Android?为什么An转载 2011-11-08 09:52:33 · 610 阅读 · 0 评论 -
连载一:如何将如何将Android带入互联网数字家庭?
Android作为优秀的开源软件解决方案, 它的作用域已经从手机市场,波及到了平板电脑,甚至以数字电视、机顶盒为典型应用的数字家庭领域。Android最初是为手机移动设备量身定做的,它默认支持的分辨率,色彩深度, 多媒体播放架构,用户交互方式,2D/3D图形的性能等都无法适应类似于数字电视,机顶盒这样的家庭应用。因此,将Android移植到数字电视或机顶盒需要对Android进行大量的定制和修转载 2011-11-08 09:52:00 · 653 阅读 · 0 评论 -
如何将 Android带入互联网数字家庭? 第三篇
在第一篇中,我们分享了数字家庭软件平台的发展趋势和特点;在第二篇中,我们归纳了将Android移植到电视、机顶盒平台需要面对的五大技术挑战并重点探讨了挑战1 : 符合电视体验的2D/3D图形性能和用户交互模式方面的挑战。在本篇中,我们将一起来继续分析其他的技术挑战。挑战 2 : 适合大屏的丰富多媒体影音体验:Android设计时是以移动手持设备为目标的,因此并没有考虑作为家庭娱转载 2011-11-08 09:53:03 · 690 阅读 · 0 评论 -
开始TI OMAP4 项目
TI还没有量产的OMAP4,有机会接触到最前沿的多媒体处理器平台OMAP4- 准确地讲,是OMAP4430,是个很复杂的系统HOST-SLAVE架构从下图可以看出,左边HOST是Dual Core Coretex-A9处理器,主要运行HLOS(High Level OS,比如Linux,Android系统)右边虚线框是SLAVE,就是传说中的Ducati子系统原创 2011-07-03 14:43:08 · 1125 阅读 · 0 评论 -
[译]关于Android图形系统一些事实真相
【IT168 技术】 现在网上满天飞的各类关于Android图像渲染的水文实在让我不爽,下面给大家一些关于Android硬件渲染的事实真相,硬件加速并非大家想的那么完美,而我们也一直在改进! 1. Android 一直在使用硬件加速。实际上从1.0版本之后,所有的窗口元素的合成与显示都是通过硬件完成的。 2.这意味着许多你所看见的动画都是被加速过的:按钮的显示、通知栏下拉的阴影、不同转载 2011-12-10 15:48:47 · 602 阅读 · 0 评论 -
Android debugging using Lauterbach Trace32 software
Today I will briefly go over my thoughts on Android debugging using Lauterbach Trace32 software. This blog entry attempts to introduce a possible method of Trace32 JTAG debugging to developers worki转载 2011-06-27 09:43:00 · 1063 阅读 · 0 评论 -
Stagefright (5) - Video Rendering
<br />AwesomePlayer::onVideoEvent除了透過OMXCodec::read取得解碼後的資料外,還必須將這些資料(mVideoBuffer)傳給video renderer,以便畫到螢幕上去。<br /><br />(1) 要將mVideoBuffer中的資料畫出來之前,必須先建立mVideoRenderer<br /><br />void AwesomePlayer::onVideoEvent()<br />{<br /> ...<br /><br /> if (转载 2011-01-10 09:39:00 · 1185 阅读 · 0 评论 -
Stagefright (3) - 選擇Video Decoder
<br />在《Stagefright (1) – Video Playback的流程》中,我們並沒有詳述Stagefright是如何根據影片檔的類型來選擇適合的video decoder,現在,就讓我們來看一看。<br /><br />(1) Video decoder是在onPrepareAsyncEvent中的initVideoDecoder被決定的<br /><br />OMXCodec::Create()會回傳video decoder給mVideoSource。<br /><br /转载 2011-01-10 09:37:00 · 1448 阅读 · 0 评论 -
Stagefright (7) - Audio和Video的同步
<br /><br />講完了audio和video的處理流程,接下來要看的是audio和video同步化(synchronization)的問題。OpenCORE的做法是設置一個主clock,而audio和video就分別以此作為輸出的依據。而在Stagefright中,audio的輸出是透過callback函式來驅動,video則根據audio的timestamp來做同步。以下是詳細的說明:<br /><br />(1) 當callback函式驅動AudioPlayer讀取解碼後的資料時,A转载 2011-01-10 09:41:00 · 1125 阅读 · 0 评论 -
Stagefright (6) - Audio Playback的流程
<br />到目前為止,我們都只著重在video處理的部分,對於audio卻隻字未提。這篇文章將會開始audio處理的流程。<br /><br />Stagefright中關於audio的部分是交由AudioPlayer來處理,它是在AwesomePlayer::play_l中被建立的。<br /><br /><br />(1) 當上層應用程式要求播放影音時,AudioPlayer同時被建立出來,並且被啟動<br /><br />status_t AwesomePlayer::play_l()<转载 2011-01-10 09:40:00 · 896 阅读 · 0 评论 -
Stagefright (2) - 和OpenMAX的運作
Stagefright的編解碼功能是利用OpenMAX框架,而且用的還是OpenCORE之OMX的實作,我們來看一下Stagefright和OMX是如何運作的。(1) OMX_InitOMXClient mClient;AwesomePlayer::AwesomePlayer(){ mClient.connect();}status_t OMXClient::connect(){ mOMX = service->getOMX();}sp MediaPlayerService::getOMX(转载 2011-01-10 09:37:00 · 1472 阅读 · 0 评论 -
Stagefright (4) - Video Buffer傳輸流程
<br />這篇文章將介紹Stagefright中是如何和OMX video decoder傳遞buffer。<br /><br />(1) OMXCodec會在一開始的時候透過read函式來傳送未解碼的data給decoder,並且要求decoder將解碼後的data傳回來<br /><br />status_t OMXCodec::read(...)<br />{<br /> if (mInitialBufferSubmit)<br /> {<br /> mInitialBuf转载 2011-01-10 09:38:00 · 1240 阅读 · 0 评论 -
Stagefright (7) - Audio和Video的同步
<br /><br />講完了audio和video的處理流程,接下來要看的是audio和video同步化(synchronization)的問題。OpenCORE的做法是設置一個主clock,而audio和video就分別以此作為輸出的依據。而在Stagefright中,audio的輸出是透過callback函式來驅動,video則根據audio的timestamp來做同步。以下是詳細的說明:<br /><br />(1) 當callback函式驅動AudioPlayer讀取解碼後的資料時,A转载 2011-01-10 09:41:00 · 1266 阅读 · 1 评论 -
將 FFmpeg整合至Android平台
<br /><br />FFmpeg是一個跨平台的影音編解碼函式庫,我們可以用來實作一個在Android平台上的media player。首先先build出一個Android版本的FFmpeg。<br /><br />以下是這次我所用到的開發環境:<br /><br />- Cygwin<br />- Android NDK:android-ndk-r4b-windows<br />- FFmpeg:0.6.1<br /><br /><br />《Step 1》<br />在Android NDK上转载 2011-01-10 10:10:00 · 3899 阅读 · 2 评论 -
將 SDL整合至Android平台
<br />網路上有很多文章在講解如何將SDL整合到Android的平台上,我自己也試著動手做看看,順便將一些步驟及心得整理起來。<br /><br />以下是這次我所用到的開發環境。<br /><br />- Cygwin<br />- Android NDK:android-ndk-r4b-windows<br />- SDL:1.2.14<br /><br /><br />《Step 1》<br />將SDL中的Makefile.minimal修改如下 (紅體字) :<br /><br />#转载 2011-01-10 10:11:00 · 4785 阅读 · 0 评论 -
在 Android上實作一個FFmpeg+SDL的media player
<br />我們想要在Android上面開發自己的media player,第一個想到的就是利用FFmpeg來實作。FFmpeg是一個跨平台的編解碼函式庫,我們可以呼叫它所提供的API來完成。另外,FFmpeg有提供一個小程式ffplay,它本身就是一個media player,所以我們打算以ffplay作為程式的基礎。<br /><br />以下是這次我所用到的開發環境:<br /><br />- Cygwin<br />- Android NDK:android-ndk-r4b-window转载 2011-01-10 10:11:00 · 5516 阅读 · 2 评论 -
gallery总结
进入Gallery以后通过startDefaultPage启动界面,data.putString(AlbumSetPage.KEY_MEDIA_PATH, DataManager.TOP_LOCAL_TIME_SET_PATH);getStateManager().startState(LocalTimeAlbumSetPage.class, data);data.putString(Al转载 2013-12-01 16:51:48 · 1131 阅读 · 0 评论