From 364190034da09b28fc4e715f26082986ef7dadde Mon Sep 17 00:00:00 2001 From: Thulinma Date: Sat, 23 Sep 2017 11:08:30 +0200 Subject: [PATCH] Fix UDP-related RTP data management bugs --- lib/rtp.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/rtp.cpp b/lib/rtp.cpp index 26c735ed..f52d7e9e 100644 --- a/lib/rtp.cpp +++ b/lib/rtp.cpp @@ -279,6 +279,9 @@ namespace RTP{ Packet::Packet(){ managed = false; data = 0; + maxDataLen = 0; + sentBytes = 0; + sentPackets = 0; } Packet::Packet(unsigned int payloadType, unsigned int sequence, unsigned int timestamp, @@ -322,9 +325,9 @@ namespace RTP{ } void Packet::operator=(const Packet &o){ + if (data && managed){delete[] data;} managed = true; maxDataLen = 0; - if (data && managed){delete[] data;} data = 0; if (o.data && o.maxDataLen){ @@ -350,6 +353,9 @@ namespace RTP{ Packet::Packet(const char *dat, unsigned int len){ managed = false; datalen = len; + maxDataLen = len; + sentBytes = 0; + sentPackets = 0; data = (char *)dat; }