Fix UDP-related RTP data management bugs
This commit is contained in:
parent
c4b7c287fb
commit
364190034d
1 changed files with 7 additions and 1 deletions
|
@ -279,6 +279,9 @@ namespace RTP{
|
||||||
Packet::Packet(){
|
Packet::Packet(){
|
||||||
managed = false;
|
managed = false;
|
||||||
data = 0;
|
data = 0;
|
||||||
|
maxDataLen = 0;
|
||||||
|
sentBytes = 0;
|
||||||
|
sentPackets = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
Packet::Packet(unsigned int payloadType, unsigned int sequence, unsigned int timestamp,
|
Packet::Packet(unsigned int payloadType, unsigned int sequence, unsigned int timestamp,
|
||||||
|
@ -322,9 +325,9 @@ namespace RTP{
|
||||||
}
|
}
|
||||||
|
|
||||||
void Packet::operator=(const Packet &o){
|
void Packet::operator=(const Packet &o){
|
||||||
|
if (data && managed){delete[] data;}
|
||||||
managed = true;
|
managed = true;
|
||||||
maxDataLen = 0;
|
maxDataLen = 0;
|
||||||
if (data && managed){delete[] data;}
|
|
||||||
data = 0;
|
data = 0;
|
||||||
|
|
||||||
if (o.data && o.maxDataLen){
|
if (o.data && o.maxDataLen){
|
||||||
|
@ -350,6 +353,9 @@ namespace RTP{
|
||||||
Packet::Packet(const char *dat, unsigned int len){
|
Packet::Packet(const char *dat, unsigned int len){
|
||||||
managed = false;
|
managed = false;
|
||||||
datalen = len;
|
datalen = len;
|
||||||
|
maxDataLen = len;
|
||||||
|
sentBytes = 0;
|
||||||
|
sentPackets = 0;
|
||||||
data = (char *)dat;
|
data = (char *)dat;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue