live555
原始碼學習第二節
usageenvironment
類學習
usageenvironment
代表了整個系統的執行環境,主要包括錯誤的輸入和輸出。其預設實現主要針對控制台進行輸入和輸出。該類中還儲存了乙個非常重要的資料結構:
tasksecheduler
類的引用,這兩個類共同構建了整個
live555
框架的靈魂。
tasksecheduler
類是整個系統的任務除錯中心。由此可見這兩個類的重要性。它們的關係如下圖所示:
從圖中可以看到,
usageenvironment
類是抽象基類,與
tasksecheduler
是組裝關係。為了實現較高層次的抽象,其構造和析構函式均宣告為受保護的,在以後的學習中我們可以看到,構造是通過呼叫靜態成員函式
createnew
實現,而析構則是通過呼叫
reclaim
函式。從圖中可以看出,
basicusageenvironment0
類實現了對錯誤訊息的處理,是整個系統錯誤訊息處理中心。而
basicusageenvironment
類則主要實現了錯誤訊息的輸入與輸出,該類在實際應用中作用不大,我們可以根據實際需要,繼承
basicusageenvironment0
類,對錯誤訊息的輸入與輸出進行定製(比如:我們可以將其寫入日誌,或者顯示在圖形視窗中)。
live555原始碼分析 live555大致流程
今天大致分析了下live555的流程,以h264為例子進行的分析.從連線到傳送rtp rtcp資料報。首先分析呢,不能太關注細節,先整體再區域性。在分析的過程中,設計到live555自己封裝的乙個高階類 比如迭代器,雜湊表,而且這2個類在live555中運用的範圍還非常的廣,但是無不例外都是用鍊錶進...
live555原始碼初步解析(一)
最近因專案需要,要學習live555這個開源平台。live555是用c 實現的,對於該平台的介紹網上有很多文章,以下是個人在讀它原始碼時的記錄,也是乙個初步的理解,和大家一起分享一下。有錯誤,或者不足之處請大家指出。basicusageenvironment庫 a basichashtable.cp...
live555原始碼分析 PLAY命令的處理
play命令概述 play命令要求在setup命令之後進行,此命令處理過程中就開始傳送資料了,在處理play命令過程中還建立了rtcpinstance例項。對於play命令請求中的url有以下幾種情況 與pause teardown get parameter set parameter處理是一樣的...