erizo使用Worker來管理Task,每個Task是一個函數片段,其執行完全由Worker來接管。這次主要學習Worker的結構定義和實現機制 先來研究一下構造函數 在構造函數中,使用boost io service,構建了基本的線程架構。 研究一下start ...
erizo使用Worker來管理Task,每個Task是一個函數片段,其執行完全由Worker來接管。這次主要學習Worker的結構定義和實現機制 先來研究一下構造函數 在構造函數中,使用boost io service,構建了基本的線程架構。 研究一下start ...
MediaStream是erizo進行流數據處理的核心模塊。當網絡數據,經過DtlsTransport進行srtp解密后,得到的rtp裸數據與rtcp裸數據,都要進入MediaStream進行處理;需要發送給對方的rtp數據與rtcp裸數據也要經過MediaStream處理后,才會 ...
WebrtcConnection是erizo進行Webrtc交互的基礎類 其主要成員有如下: 從成員可以看出,webrtcconnection,主要控制的有鏈路transport,交互local_sdp remote_sdp, ice控制,事件監聽回調,數據流 ...
Pipeline是媒體處理的核心流程邏輯。 Pipeline里面定義了兩個主要的概念:Service和Handler。 Service負責處理那些不僅要看當前數據包,還要分析之前的數據包的那些業務 ...
erizo的pipeline的handle,是媒體數據處理的基本操作,handle分為3類:IN,OUT,BOTH IN:數據進入handle,handle需要read數據並傳遞給下一級 OUT:數據進入handle,handle需要write數據並傳遞給下一級 BOTH:可以同時進行 ...
erizo的webrtcconnection使用監聽來通知事件,其接口為: 在event發生時,其參數的內容進行總結: 1、CONN_INITIAL:WebrtcConnection對象創建后,需要外面手動調用init方法,該方法會回調notifyEvent,並傳遞事件為改枚舉值 ...
erizo使用IOWorker進行ICE,DTLS的狀態交互處理。 頭文件 接口定義與Worker基本沒有區別,但是內部使用了atomic變量,而沒有使用boost的io service,說明線程的執行是自己控制的,看看具體實現 主要看線程執行體以及task方法 ...
erizo的transport部分負責網絡鏈路處理,其包含ice處理,數據包packet處理傳遞。 transport存在,主要是為Dtls-srtp數據處理提供封裝,其關聯着ice與外部接口webrtcconnection。其關系圖如下: erizo提供了兩套ICE的方案,分別 ...