SimpleH264SendPacket(unsigned char *val,uint32_t length)c++
NALU=val[4];函數
根據是否須要分包(包大小<1024)測試
不分包 ui
sess.SendPacket((void *)&val[4],valid_len,PLOAD_TYPE,true,DefaultTimestampIncrement)編碼
分包rem
第一包io
sess.SendPacket(sendStartAddr-1,send_length,PLOAD_TYPE,false,DefaultTimestampIncrement)構造函數
中間包im
sendStartAddr[pos-2]=(NALU&0x60)|28co
sendStartAddr[pos-1]=(NALU&0x1f)|0x40
sess.SendPacket(sendStartAddr+pos-2,send_lenght,PLOAD_TYPE,false,DefaultTimestampIncrement)
最後包
sess.SendPacket(sendStartAddr+pos-2,send_lenght,PLOAD_TYPE,true,0)
3 jrtplib的發包過程
int RTPSession::SendPacket(const void *data,size_t len, uint8_t pt,bool mark,uint32_t timestampinc)
執行過程
packetbuilder.BuildPacket(data,len,pt,mark,timestampinc))
PrivateBuildPacket(data,len,pt,mark,timestampinc,false);
構造函數
BuildPacket 使用默認參數(c++特性)
rtptrans->SendRTPData(packetbuilder.GetPacket(),packetbuilder.GetPacketLength()))
sources.SentRTPPacket();
未完。。
看了半天也沒找到externd hdr的具體說明。掛起中。。。