天天看點

OpenCores學習(2)--高層次設計 (HLD)

2.1 簡 介和局限性

     PVPlayer SDK包含所有必要的特點來支援這個要求先前的部分。這個特性的要求是被設計來處理的很全面的應 用程式。這個子產品結構和設計的擴充提供了便利的機制,不過由于opencore的複雜性,相對起MPLAYER,VLC等多媒體播放器來說,擴充格式相對 麻煩點。而且PVPlayer在新版本和更新PVPlayer的SDK裡,可能會有不相容的BUG。

2.2 開 發環境和工具

     PVPlayer SDK是c++語言實作的,是以它需要ANSI C + +開發工具支援平台。不過對于開發者不要求每個特征定義為c++标準。例如,RTTI異常處理。然而,C + +編譯環境是必需的,在Android環境中用的是G++ 3.3.3編譯,PVPlayer SDK也需要另一種類型的接口(例如。C,Java),PVPlayer SDK提供了一種适配接口,但内部部件還需在c++環境下編譯.

     PVPlayer SDK源代碼是基于PacketVideo的作業系統(OSCL)和PacketVideo多媒體架構(PVMF)。PVPlayer SDK依賴OSCL來提供系統的功能,是便攜式在平台上(例如,它作為一個作業系統的抽象層提供了 平台的API來了PVPlayer SDK)。PVMF架構是确定多媒體架構包PVPlayer SDK。OSCL需要一個平台和服務的相對完整作業系統,如動态記憶、管理、多線程、檔案I / O、網絡、域名服務,時鐘資訊。

2.3 結 構群組件

PVPlayer SDK是一個标準架構,結構靈活的、可擴充 的,輕巧的多媒體播放架構。PVPlayer引擎是播放器的核心。引擎使用PVMF節點和節點圖表資料處理和内部注冊 時,節點的圖形結構。下圖是PVPlayer SDK簡單架構圖。

OpenCores學習(2)--高層次設計 (HLD)

2.4 控制流

回放控制PVPlayer SDK是user(這裡一般是開發者)的PVPlayer,典型的LINUX應用程式,通過BINDLE一個服務給JAVA層調用。PVPlayer SDK api提供了如調用初使化、setdatasourse、prepare、開始(停止)多媒體播放等等。在PVPlayer SDK、控制流量通常是自上而下的。這個應用程式請求被PVPlayer收到後經引擎适配。這個PVPlayer引擎根據先前注冊的節點并通過相應 的辨別控制PVMF節點資料。有一些控制資料連接配接節點之間,但主要的控制資料PVPlayer引擎和PVMF節點之間。

2.5 數 據流

     PVPlayer SDK多媒體資料流過程的通過一個或更多的PVMF節點連接配接在一起。PVMF節點類型使用和結構将取決于回放文 件源參數的類型進行相應播放操作。檔案類型主要是提取檔案中繼資料的具體參數,由PVPlayer引擎或PVMF提取節點PVPlayer SDK通過适當的接口傳回給使用者。

繼續閱讀