| 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() {
|
| - 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
|
|
|