在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于S3C6400的移動多媒體廣播終端設(shè)計

            基于S3C6400的移動多媒體廣播終端設(shè)計

            作者: 時間:2009-05-07 來源:網(wǎng)絡(luò) 收藏

            主界面完成的具體工作包含:搜索可用的電視頻點;選擇收看的電視頻道;檢測當(dāng)前的信號強(qiáng)度;讀取接收到的音視頻數(shù)據(jù);對接收到的音視頻數(shù)據(jù)進(jìn)行解碼;播放解碼后的音視頻數(shù)據(jù);對當(dāng)前播放的節(jié)目進(jìn)行錄像;調(diào)節(jié)音量大??;靜音功能。
            主界面利用調(diào)用泰合電視接收模塊SDK,通過SPI驅(qū)動程序讀寫數(shù)據(jù),并將接收到的CMMB復(fù)用子幀解析成H.264格式的視頻數(shù)據(jù),AAC格式的音頻數(shù)據(jù)和其他數(shù)據(jù)。然后調(diào)用播放器模塊,將H.264格式的視頻數(shù)據(jù)和AAC格式的音頻數(shù)據(jù)解碼并播放。
            2.2 電視接收模塊SDK
            電視接收模塊SDK提供對CMMB電視信號的控制,包括:電視芯片的初始化,設(shè)置頻點,掃描頻點;得到頻道信息,設(shè)置頻道;接收及停止音視頻數(shù)據(jù);測試電視信號強(qiáng)度大小。
            該模塊主要由數(shù)據(jù)處理模塊及信號控制模塊2個子模塊組成。
            數(shù)據(jù)處理子模塊在打開引擎時,會生成一個線程,這個線程用來讀取CMMB信號,并進(jìn)行分析、處理,其流程如圖3所示。

            本文引用地址:http://www.biyoush.com/article/152507.htm

            這個子模塊是一個死循環(huán),在循環(huán)中,先通過一個標(biāo)志進(jìn)行判斷,如果需要處理數(shù)據(jù),首先讀取一幀數(shù)據(jù),如果沒有數(shù)據(jù),則阻塞在這兒。然后對這幀數(shù)據(jù)進(jìn)行分析,分別放入音頻,視頻,其他數(shù)據(jù)的緩沖區(qū),最后,調(diào)用回調(diào)函數(shù)對各種數(shù)據(jù)進(jìn)行處理,將音視頻數(shù)據(jù)發(fā)送給音視頻播放模塊來播放。
            另一個子模塊,信號控制模塊主要是提供控制接口讓上層調(diào)用,以完成對CMMB信號的處理。該子模塊主要包含以下功能接口函數(shù):引擎的初始化:創(chuàng)建讀數(shù)據(jù)線程,啟動初始化;引擎的打開:對電視芯片初始化;設(shè)置頻點:設(shè)置當(dāng)前頻點;得到ESG信息:從信號中提取ESG信息并分析;關(guān)閉引擎:清除用到的資源,硬件重置位;得到頻道信息列表:發(fā)送請求,分析頻道信號;設(shè)置頻道:設(shè)置當(dāng)前頻道;得到參數(shù):能得到信號強(qiáng)度,當(dāng)前頻道等參數(shù)。
            2.3 音視頻播放模塊
            音視頻播放由3個線程來完成。這3個線程分別為視頻處理線程、音頻處理線程、數(shù)據(jù)接收線程。
            視頻處理線程:
            (1)先判斷緩沖區(qū)隊列有沒有視頻數(shù)據(jù),如果沒有,休眠10 ms;
            (2)有數(shù)據(jù)的話,因為視頻數(shù)據(jù)是根據(jù)時間戳順序作為隊列放在緩沖區(qū)的,取出第一幀,判斷是否已經(jīng)過時,如果是很老的數(shù)據(jù),已經(jīng)錯過了播放時間,則判斷幀類型,如果是關(guān)鍵幀,則解碼并顯示,否則,丟掉這一幀,然后轉(zhuǎn)到第(1)步;
            (3)否則,判斷這一幀是否到了播放時間,如果是,則將這幀數(shù)據(jù)解碼并顯示,然后轉(zhuǎn)到第(1)步;
            (4)如果沒有到播放時間,則休眠10 ms。然后轉(zhuǎn)到第(1)步。
            音頻處理線程:
            (1)先判斷緩沖區(qū)隊列有沒有音頻數(shù)據(jù),如果沒有,休眠10 ms;
            (2)有數(shù)據(jù)的話,因為音頻數(shù)據(jù)是根據(jù)時間戳順序作為隊列放在緩沖區(qū)的,取出第一幀,判斷是否已經(jīng)過時,如果是很老的數(shù)據(jù),已經(jīng)錯過了播放時間,則丟棄,然后轉(zhuǎn)到第(1)步;
            (3)否則,判斷是否到了播放時間,如果是,則將這幀數(shù)據(jù)解碼并播放,然后轉(zhuǎn)到第(1)步;
            (4)如果沒有到播放時間,則休眠10 ms。然后轉(zhuǎn)到第(1)步。
            數(shù)據(jù)接收線程:數(shù)據(jù)接收線程不屬于播放器模塊,它是電視接收模塊的一部分。
            (1)如果有數(shù)據(jù)到來,判斷有沒有視頻數(shù)據(jù),如果有,將它們?nèi)坎迦氲揭曨l緩沖區(qū);

            linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉