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数据包的收发,并提供了相应的事件处理器来处理接收到的数据包。