JRTPLIB是一個用于實時傳輸協議(RTP)和實時控制協議(RTCP)的C++庫。它提供了一個用于處理RTP和RTCP數據包的框架。
JRTPLIB的分包處理方法如下:
- 創建RTP會話(RTPSession)對象,該對象將處理RTP和RTCP數據包的收發。
- 在RTP會話對象上注冊一個RTP會話事件處理器(RTPSession::SetDefaultPayloadTypeHandler)和一個RTCP會話事件處理器(RTPSession::SetDefaultRTCPApplicationDataHandler),以處理接收到的RTP和RTCP數據包。
- 通過調用RTP會話對象的成員函數RTPSession::Create,創建一個RTP會話。
- 設置RTP會話的本地SIP地址和端口(RTPSession::SetLocalSIPInfo)。
- 通過調用RTP會話對象的成員函數RTPSession::SendPacket,發送RTP數據包到遠程SIP地址和端口。
- 通過調用RTP會話對象的成員函數RTPSession::Poll,接收和處理RTP和RTCP數據包。
在JRTPLIB中,RTP數據包可以通過成員函數RTPSession::SendPacket進行發送,而RTCP數據包則是自動處理的。當接收到新的RTP數據包時,RTP會話事件處理器將被調用,并傳遞RTP數據包的內容。用戶可以在事件處理器中進行自定義的處理,例如提取媒體數據。
總之,JRTPLIB提供了一個方便的框架來處理RTP和RTCP數據包的收發,并提供了相應的事件處理器來處理接收到的數據包。