![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
StageFright
文章平均质量分 75
zhucunzeng
这个作者很懒,什么都没留下…
展开
-
stagefright框架(六)-Audio Playback的流程
到目前為止,我們都只著重在video處理的部分,對於audio卻隻字未提。這篇文章將會開始audio處理的流程。 Stagefright中關於audio的部分是交由AudioPlayer來處理,它是在AwesomePlayer::play_l中被建立的。 (1) 當上層應用程式要求播放影音時,AudioPlayer同時被建立出來,並且被啟動 statu转载 2013-10-22 14:16:59 · 506 阅读 · 0 评论 -
stagefright框架(四)-Video Buffer傳輸流程
這篇文章將介紹Stagefright中是如何和OMX video decoder傳遞buffer。 (1) OMXCodec會在一開始的時候透過read函式來傳送未解碼的data給decoder,並且要求decoder將解碼後的data傳回來 status_t OMXCodec::read(...) { if (mInitialBuf转载 2013-10-22 14:15:32 · 486 阅读 · 0 评论 -
stagefright框架(五)-Video Rendering
AwesomePlayer::onVideoEvent除了透過OMXCodec::read取得解碼後的資料外,還必須將這些資料(mVideoBuffer)傳給video renderer,以便畫到螢幕上去。 (1) 要將mVideoBuffer中的資料畫出來之前,必須先建立mVideoRenderer void AwesomePlayer::onVideoE转载 2013-10-22 14:16:23 · 423 阅读 · 0 评论 -
stagefright框架(七)-Audio和Video的同步
講完了audio和video的處理流程,接下來要看的是audio和video同步化(synchronization)的問題。OpenCORE的做法是設置一個主clock,而audio和video就分別以此作為輸出的依據。而在Stagefright中,audio的輸出是透過callback函式來驅動,video則根據audio的timestamp來做同步。以下是詳細的說明: (1) 當call转载 2013-10-22 14:17:37 · 446 阅读 · 0 评论 -
stagefright框架(一)Video Playback的流程
在Android上,預設的多媒體框架(multimedia framework)是OpenCORE。OpenCORE的優點是兼顧了跨平台的移植性,而且已經過多方驗證,所以相對來說較為穩定;但是其缺點是過於龐大複雜,需要耗費相當多的時間去維護。從Android 2.0開始,Google引進了架構稍為簡潔的Stagefright,並且有逐漸取代OpenCORE的趨勢 (註1)。转载 2013-10-22 14:12:20 · 398 阅读 · 0 评论 -
stagefright框架(二)- 和OpenMAX的運作
Stagefright的編解碼功能是利用OpenMAX框架,而且用的還是OpenCORE之OMX的實作,我們來看一下Stagefright和OMX是如何運作的。 (1) OMX_Init OMXClient mClient; AwesomePlayer::AwesomePlayer() { mClient.connect(); } stat转载 2013-10-22 14:13:51 · 442 阅读 · 0 评论 -
stagefright框架(三)-選擇Video Decoder
在《Stagefright (1) – Video Playback的流程》中,我們並沒有詳述Stagefright是如何根據影片檔的類型來選擇適合的video decoder,現在,就讓我們來看一看。 (1) Video decoder是在onPrepareAsyncEvent中的initVideoDecoder被決定的 OMXCodec::Create()會回傳video deco转载 2013-10-22 14:14:51 · 371 阅读 · 0 评论 -
StageFright与OpenCore对比
原文地址:http://blog.chinaunix.net/u2/61880/showart_2339481.html 1引言 Android froyo版本多媒体引擎做了变动,新添加了stagefright框架,并且默认情况android选择stagefright,弃用之前的opencore,仅仅对opencore中的omx-component部分做了引用。 Stagefright自转载 2013-10-22 16:21:08 · 373 阅读 · 0 评论 -
Android StagFright架构分析
第一章stagefright整体分析 从Android2.0开始,新添加了stagefright框架,并且默认情况android选择stagefright,并没有完全抛弃 opencore,主要是做了一个OMX层,仅仅是对 opencore的omx-component部分做了引用。stagefright是在MediaPlayerService这一层加入的,和 opencore是并列的。Stage转载 2013-10-23 11:33:01 · 898 阅读 · 0 评论