前段時間完成了android平台上cmmb的實現,現將實現步驟簡單介紹如下。分兩個step來實現:
(一)、基於530頻點(北京)cctv-news臺清流頻道(寫死乙個頻點、乙個清流頻道)的除錯:
1、在android上調通cmmb driver和firmware,使其有正確的輸出。
2、ffmpeg在android上的整合。
3、cmmb engine的實現(c/s架構)。
4、ringbuffer的實現(用來存放接收到的rtp包)。
5、排程演算法(scheduler)的實現。
6、rtp parser及包的reconstruction。
8、video render的除錯。
9、audio render的除錯。
10、a/v同步的實現。
11、穩定性、健壯性、效能(cpu佔用率等)等的除錯。
12、ui的實現(由於cmmb重點在於展示內容,所以ui不用做得那麼炫)。
以上各部分全部分割個小的模組來實現,然後整合,這樣能使整個專案更易於掌控。比如:video的render,我們就可以拿一段yuv檔案來在板子上除錯其overlay輸出。
難點在(一),細節非常多,某個點卡住了就有可能導致整個專案停滯好幾天。把它調通了的話(二)要不了幾天就能完成。
有時間的話在詳細討論一下具體實現細節吧!
在ARM Linux平台上移植SQLite
在arm linux平台上移植sqlite 首先從http sqlite.org 的quick start文件中的測試程式為例對移植到arm linux上的sqlite3進行測試。該程式清單如下 include include static int callback void notused,int...
Android平台上長連線的實現
為了不讓nat表失效,我們需要定時的發心跳,以重新整理nat表項,避免被淘汰。android上定時執行任務常用的方法有2種,一種方法用 timer,另一種是alarmmanager。android 的 timer 類可以用來計畫需要迴圈執行的任務,timer 的問題是它需要用 wakelock 讓 ...
在MTK平台上部署CDMA
在mtk平台上部署cdma 注 我們用的mtk版本是6225 cdma 模組是威盛via的。此專案沒有量產,放在那也是加密冷藏沒有價值,寫思路出來與大家討論關於程式設計。本人不是mtk專家,有分析不對之處,請指出,謝謝。硬體篇 加乙個cdma模組,具體操作本人不知道,就不講述了。軟體篇 讓我們來分析...