Index: webrtc/modules/rtp_rtcp/source/producer_fec.cc |
diff --git a/webrtc/modules/rtp_rtcp/source/producer_fec.cc b/webrtc/modules/rtp_rtcp/source/producer_fec.cc |
index 6fe285fed977eef9c47eb35b1d2db8643b405864..2e1b220f01dcd973d90d78cb0b613bf99ef08ce7 100644 |
--- a/webrtc/modules/rtp_rtcp/source/producer_fec.cc |
+++ b/webrtc/modules/rtp_rtcp/source/producer_fec.cc |
@@ -139,11 +139,11 @@ int ProducerFec::AddRtpPacketAndGenerateFec(const uint8_t* data_buffer, |
const bool marker_bit = (data_buffer[1] & kRtpMarkerBitMask) ? true : false; |
if (media_packets_fec_.size() < ForwardErrorCorrection::kMaxMediaPackets) { |
// Generic FEC can only protect up to kMaxMediaPackets packets. |
- ForwardErrorCorrection::Packet* packet = |
- new ForwardErrorCorrection::Packet(); |
+ std::unique_ptr<ForwardErrorCorrection::Packet> packet( |
+ new ForwardErrorCorrection::Packet()); |
packet->length = payload_length + rtp_header_length; |
memcpy(packet->data, data_buffer, packet->length); |
- media_packets_fec_.push_back(packet); |
+ media_packets_fec_.push_back(std::move(packet)); |
} |
if (marker_bit) { |
++num_frames_; |
@@ -219,7 +219,7 @@ std::vector<RedPacket*> ProducerFec::GetFecPackets(int red_pl_type, |
// media packet. |
ForwardErrorCorrection::Packet* packet_to_send = fec_packets_.front(); |
ForwardErrorCorrection::Packet* last_media_packet = |
- media_packets_fec_.back(); |
+ media_packets_fec_.back().get(); |
RedPacket* red_packet = new RedPacket( |
packet_to_send->length + kREDForFECHeaderLength + rtp_header_length); |
@@ -251,11 +251,7 @@ int ProducerFec::Overhead() const { |
} |
void ProducerFec::DeletePackets() { |
stefan-webrtc
2016/07/20 09:50:35
Rename to ClearMediaPackets() ?
brandtr
2016/07/21 09:04:20
Sort of done here: https://codereview.webrtc.org/2
|
- while (!media_packets_fec_.empty()) { |
- delete media_packets_fec_.front(); |
- media_packets_fec_.pop_front(); |
- } |
- assert(media_packets_fec_.empty()); |
+ media_packets_fec_.clear(); |
} |
} // namespace webrtc |