Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(316)

Unified Diff: webrtc/modules/rtp_rtcp/source/producer_fec.cc

Issue 2099243003: Use std::unique_ptr in ForwardErrorCorrection. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@flexfec-pt1a_mini-fixes-in-ULPFEC
Patch Set: Rebase on top of FlexFEC pt. 1a. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 c7ea19db5862f4ce6b97184548f900bef54aa154..b259da60d960af83cab9d480e510a883a1bf6300 100644
--- a/webrtc/modules/rtp_rtcp/source/producer_fec.cc
+++ b/webrtc/modules/rtp_rtcp/source/producer_fec.cc
@@ -139,10 +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);
stefan-webrtc 2016/06/29 19:36:18 ()
brandtr 2016/06/30 14:05:55 Done.
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_;
@@ -218,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);
@@ -250,10 +251,7 @@ int ProducerFec::Overhead() const {
}
void ProducerFec::DeletePackets() {
- while (!media_packets_fec_.empty()) {
- delete media_packets_fec_.front();
- media_packets_fec_.pop_front();
- }
+ media_packets_fec_.clear();
assert(media_packets_fec_.empty());
}

Powered by Google App Engine
This is Rietveld 408576698