mirror of
https://github.com/ossrs/srs.git
synced 2025-02-13 20:01:56 +00:00
RTC: Fix memory leak
This commit is contained in:
parent
a78b6b8cda
commit
1c5ccaffc7
1 changed files with 7 additions and 1 deletions
|
@ -754,7 +754,10 @@ srs_error_t SrsRtcPlayer::do_send_packets(const std::vector<SrsRtpPacket2*>& pkt
|
||||||
iovec* iov = new iovec();
|
iovec* iov = new iovec();
|
||||||
SrsAutoFree(iovec, iov);
|
SrsAutoFree(iovec, iov);
|
||||||
|
|
||||||
iov->iov_base = new char[kRtpPacketSize];
|
char* iov_base = new char[kRtpPacketSize];
|
||||||
|
SrsAutoFreeA(char, iov_base);
|
||||||
|
|
||||||
|
iov->iov_base = iov_base;
|
||||||
iov->iov_len = kRtpPacketSize;
|
iov->iov_len = kRtpPacketSize;
|
||||||
|
|
||||||
// Marshal packet to bytes in iovec.
|
// Marshal packet to bytes in iovec.
|
||||||
|
@ -788,6 +791,9 @@ srs_error_t SrsRtcPlayer::do_send_packets(const std::vector<SrsRtpPacket2*>& pkt
|
||||||
payload->payload = new char[payload->nn_payload];
|
payload->payload = new char[payload->nn_payload];
|
||||||
memcpy((void*)payload->payload, iov->iov_base, iov->iov_len);
|
memcpy((void*)payload->payload, iov->iov_base, iov->iov_len);
|
||||||
|
|
||||||
|
nack->shared_msg = new SrsSharedPtrMessage();
|
||||||
|
nack->shared_msg->wrap(payload->payload, payload->nn_payload);
|
||||||
|
|
||||||
if (nack->header.get_ssrc() == video_ssrc) {
|
if (nack->header.get_ssrc() == video_ssrc) {
|
||||||
video_queue_->set(nack->header.get_sequence(), nack);
|
video_queue_->set(nack->header.get_sequence(), nack);
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue