37 #ifndef RTPPACKETBUILDER_H
39 #define RTPPACKETBUILDER_H
41 #include "rtpconfig.h"
43 #include "rtpdefines.h"
62 int Init(
size_t maxpacksize);
98 uint8_t pt,
bool mark,uint32_t timestampinc);
108 uint16_t hdrextID,
const void *hdrextdata,
size_t numhdrextwords);
118 uint8_t pt,
bool mark,uint32_t timestampinc,
119 uint16_t hdrextID,
const void *hdrextdata,
size_t numhdrextwords);
122 uint8_t *
GetPacket() {
if (!init)
return 0;
return buffer; }
167 uint32_t
GetSSRC()
const {
if (!init)
return 0;
return ssrc; }
170 uint32_t
GetTimestamp()
const {
if (!init)
return 0;
return timestamp; }
184 int PrivateBuildPacket(
const void *data,
size_t len,
185 uint8_t pt,
bool mark,uint32_t timestampinc,
bool gotextension,
186 uint16_t hdrextID = 0,
const void *hdrextdata = 0,
size_t numhdrextwords = 0);
193 uint32_t numpayloadbytes;
201 uint32_t defaulttimestampinc;
202 uint8_t defaultpayloadtype;
205 bool deftsset,defptset,defmarkset;
207 uint32_t csrcs[RTP_MAXCSRCS];
211 uint32_t lastrtptimestamp;
212 uint32_t prevrtptimestamp;
218 return ERR_RTP_PACKBUILD_NOTINIT;
220 defaultpayloadtype = pt;
227 return ERR_RTP_PACKBUILD_NOTINIT;
236 return ERR_RTP_PACKBUILD_NOTINIT;
238 defaulttimestampinc = timestampinc;
245 return ERR_RTP_PACKBUILD_NOTINIT;
253 return ERR_RTP_PACKBUILD_NOTINIT;
255 return ERR_RTP_PACKBUILD_DEFAULTTSINCNOTSET;
256 timestamp += defaulttimestampinc;
260 #endif // RTPPACKETBUILDER_H