1.Fix rtp packet memory leakage; 2.Retry candidates gathering when failed

This commit is contained in:
dijunkun
2023-10-07 15:48:12 +08:00
parent e2e2fb53ae
commit 8f14230a04
2 changed files with 8 additions and 4 deletions

View File

@@ -62,7 +62,7 @@ RtpPacket::RtpPacket(RtpPacket &&rtp_packet)
RtpPacket &RtpPacket::operator=(const RtpPacket &rtp_packet) {
if (&rtp_packet != this) {
if (buffer_) {
delete buffer_;
delete[] buffer_;
buffer_ = nullptr;
}
buffer_ = new uint8_t[rtp_packet.size_];
@@ -88,13 +88,13 @@ RtpPacket &RtpPacket::operator=(RtpPacket &&rtp_packet) {
RtpPacket::~RtpPacket() {
if (buffer_) {
delete buffer_;
delete[] buffer_;
buffer_ = nullptr;
}
size_ = 0;
if (extension_data_) {
delete extension_data_;
delete[] extension_data_;
extension_data_ = nullptr;
}
extension_len_ = 0;

View File

@@ -197,7 +197,11 @@ int IceTransmission::JoinTransmission() {
}
int IceTransmission::GatherCandidates() {
ice_agent_->GatherCandidates();
int ret = ice_agent_->GatherCandidates();
while (ret) {
LOG_ERROR("Gather candidates failed, retry");
ret = ice_agent_->GatherCandidates();
}
LOG_INFO("[{}] Gather candidates", user_id_);
return 0;
}