本文所有内容均为原创,转载请注明出处!
介绍如何发送h264,下面我们介绍下如何接收h264文件。
其中主要关注的就是被拆分的数据包的重组,下面的代码中有详尽的注释。
class CRTPReceiver : public RTPSession
{
protected:
void OnPollThreadStep();
void ProcessRTPPacket(const RTPSourceData &srcdat,const RTPPacket &rtppack);
void OnRTCPCompoundPacket(RTCPCompoundPacket *pack,const RTPTime &receivetime,const RTPAddress *senderaddress);
public:
CThreadSafeArray m_ReceiveArray;
void InitBufferSize();
private:
CVideoData* m_pVideoData;
unsigned char m_buffer[BUFFER_SIZE];
int m_current_size;
};
void CRTPReceiver::InitBufferSize()
{
m_ReceiveArray.SetMemberSize(BUFFER_SIZE);
m_pVideoData = new CVideoData();
memset(m_buffer,0,BUFFER_SIZE);
m_current_size = 0;
}
void CRTPReceiver::OnRTCPCompoundPacket(RTCPCompoundPacket *pack,const RTPTime &receivetime,const RTPAddress *senderaddress)
{
//std::cout<<"Got RTCP packet from: "<<se