| Index: webrtc/modules/rtp_rtcp/source/fec_receiver_unittest.cc
 | 
| diff --git a/webrtc/modules/rtp_rtcp/source/fec_receiver_unittest.cc b/webrtc/modules/rtp_rtcp/source/fec_receiver_unittest.cc
 | 
| index cd60d9b094ca96bc4f46a4836232ff141661a231..350b3741a8437123debc2989acdd173b31af9b87 100644
 | 
| --- a/webrtc/modules/rtp_rtcp/source/fec_receiver_unittest.cc
 | 
| +++ b/webrtc/modules/rtp_rtcp/source/fec_receiver_unittest.cc
 | 
| @@ -38,8 +38,8 @@ class ReceiverFecTest : public ::testing::Test {
 | 
|      generator_.reset(new FrameGenerator());
 | 
|    }
 | 
|  
 | 
| -  void GenerateFEC(std::list<Packet*>* media_packets,
 | 
| -                   std::list<Packet*>* fec_packets,
 | 
| +  void GenerateFEC(ForwardErrorCorrection::PacketList* media_packets,
 | 
| +                   ForwardErrorCorrection::PacketList* fec_packets,
 | 
|                     unsigned int num_fec_packets) {
 | 
|      uint8_t protection_factor = num_fec_packets * 255 / media_packets->size();
 | 
|      EXPECT_EQ(0, fec_->GenerateFEC(*media_packets, protection_factor,
 | 
| @@ -50,7 +50,7 @@ class ReceiverFecTest : public ::testing::Test {
 | 
|    void GenerateFrame(int num_media_packets,
 | 
|                       int frame_offset,
 | 
|                       std::list<test::RawRtpPacket*>* media_rtp_packets,
 | 
| -                     std::list<Packet*>* media_packets) {
 | 
| +                     ForwardErrorCorrection::PacketList* media_packets) {
 | 
|      generator_->NewFrame(num_media_packets);
 | 
|      for (int i = 0; i < num_media_packets; ++i) {
 | 
|        media_rtp_packets->push_back(
 | 
| @@ -97,7 +97,7 @@ class ReceiverFecTest : public ::testing::Test {
 | 
|    std::unique_ptr<FrameGenerator> generator_;
 | 
|  };
 | 
|  
 | 
| -void DeletePackets(std::list<Packet*>* packets) {
 | 
| +void DeletePackets(ForwardErrorCorrection::PacketList* packets) {
 | 
|    while (!packets->empty()) {
 | 
|      delete packets->front();
 | 
|      packets->pop_front();
 | 
| @@ -107,18 +107,18 @@ void DeletePackets(std::list<Packet*>* packets) {
 | 
|  TEST_F(ReceiverFecTest, TwoMediaOneFec) {
 | 
|    const unsigned int kNumFecPackets = 1u;
 | 
|    std::list<test::RawRtpPacket*> media_rtp_packets;
 | 
| -  std::list<Packet*> media_packets;
 | 
| +  ForwardErrorCorrection::PacketList media_packets;
 | 
|    GenerateFrame(2, 0, &media_rtp_packets, &media_packets);
 | 
| -  std::list<Packet*> fec_packets;
 | 
| +  ForwardErrorCorrection::PacketList fec_packets;
 | 
|    GenerateFEC(&media_packets, &fec_packets, kNumFecPackets);
 | 
|  
 | 
|    // Recovery
 | 
| -  std::list<test::RawRtpPacket*>::iterator it = media_rtp_packets.begin();
 | 
| +  auto it = media_rtp_packets.begin();
 | 
|    BuildAndAddRedMediaPacket(*it);
 | 
|    VerifyReconstructedMediaPacket(*it, 1);
 | 
|    EXPECT_EQ(0, receiver_fec_->ProcessReceivedFec());
 | 
|    // Drop one media packet.
 | 
| -  std::list<Packet*>::iterator fec_it = fec_packets.begin();
 | 
| +  auto fec_it = fec_packets.begin();
 | 
|    BuildAndAddRedFecPacket(*fec_it);
 | 
|    ++it;
 | 
|    VerifyReconstructedMediaPacket(*it, 1);
 | 
| @@ -138,9 +138,9 @@ void ReceiverFecTest::InjectGarbagePacketLength(size_t fec_garbage_offset) {
 | 
|  
 | 
|    const unsigned int kNumFecPackets = 1u;
 | 
|    std::list<test::RawRtpPacket*> media_rtp_packets;
 | 
| -  std::list<Packet*> media_packets;
 | 
| +  ForwardErrorCorrection::PacketList media_packets;
 | 
|    GenerateFrame(2, 0, &media_rtp_packets, &media_packets);
 | 
| -  std::list<Packet*> fec_packets;
 | 
| +  ForwardErrorCorrection::PacketList fec_packets;
 | 
|    GenerateFEC(&media_packets, &fec_packets, kNumFecPackets);
 | 
|    ByteWriter<uint16_t>::WriteBigEndian(
 | 
|        &fec_packets.front()->data[fec_garbage_offset], 0x4711);
 | 
| @@ -173,15 +173,15 @@ TEST_F(ReceiverFecTest, InjectGarbageFecLevelHeaderProtectionLength) {
 | 
|  TEST_F(ReceiverFecTest, TwoMediaTwoFec) {
 | 
|    const unsigned int kNumFecPackets = 2u;
 | 
|    std::list<test::RawRtpPacket*> media_rtp_packets;
 | 
| -  std::list<Packet*> media_packets;
 | 
| +  ForwardErrorCorrection::PacketList media_packets;
 | 
|    GenerateFrame(2, 0, &media_rtp_packets, &media_packets);
 | 
| -  std::list<Packet*> fec_packets;
 | 
| +  ForwardErrorCorrection::PacketList fec_packets;
 | 
|    GenerateFEC(&media_packets, &fec_packets, kNumFecPackets);
 | 
|  
 | 
|    // Recovery
 | 
|    // Drop both media packets.
 | 
| -  std::list<test::RawRtpPacket*>::iterator it = media_rtp_packets.begin();
 | 
| -  std::list<Packet*>::iterator fec_it = fec_packets.begin();
 | 
| +  auto it = media_rtp_packets.begin();
 | 
| +  auto fec_it = fec_packets.begin();
 | 
|    BuildAndAddRedFecPacket(*fec_it);
 | 
|    VerifyReconstructedMediaPacket(*it, 1);
 | 
|    EXPECT_EQ(0, receiver_fec_->ProcessReceivedFec());
 | 
| @@ -197,14 +197,14 @@ TEST_F(ReceiverFecTest, TwoMediaTwoFec) {
 | 
|  TEST_F(ReceiverFecTest, TwoFramesOneFec) {
 | 
|    const unsigned int kNumFecPackets = 1u;
 | 
|    std::list<test::RawRtpPacket*> media_rtp_packets;
 | 
| -  std::list<Packet*> media_packets;
 | 
| +  ForwardErrorCorrection::PacketList media_packets;
 | 
|    GenerateFrame(1, 0, &media_rtp_packets, &media_packets);
 | 
|    GenerateFrame(1, 1, &media_rtp_packets, &media_packets);
 | 
| -  std::list<Packet*> fec_packets;
 | 
| +  ForwardErrorCorrection::PacketList fec_packets;
 | 
|    GenerateFEC(&media_packets, &fec_packets, kNumFecPackets);
 | 
|  
 | 
|    // Recovery
 | 
| -  std::list<test::RawRtpPacket*>::iterator it = media_rtp_packets.begin();
 | 
| +  auto it = media_rtp_packets.begin();
 | 
|    BuildAndAddRedMediaPacket(media_rtp_packets.front());
 | 
|    VerifyReconstructedMediaPacket(*it, 1);
 | 
|    EXPECT_EQ(0, receiver_fec_->ProcessReceivedFec());
 | 
| @@ -220,15 +220,15 @@ TEST_F(ReceiverFecTest, TwoFramesOneFec) {
 | 
|  TEST_F(ReceiverFecTest, OneCompleteOneUnrecoverableFrame) {
 | 
|    const unsigned int kNumFecPackets = 1u;
 | 
|    std::list<test::RawRtpPacket*> media_rtp_packets;
 | 
| -  std::list<Packet*> media_packets;
 | 
| +  ForwardErrorCorrection::PacketList media_packets;
 | 
|    GenerateFrame(1, 0, &media_rtp_packets, &media_packets);
 | 
|    GenerateFrame(2, 1, &media_rtp_packets, &media_packets);
 | 
|  
 | 
| -  std::list<Packet*> fec_packets;
 | 
| +  ForwardErrorCorrection::PacketList fec_packets;
 | 
|    GenerateFEC(&media_packets, &fec_packets, kNumFecPackets);
 | 
|  
 | 
|    // Recovery
 | 
| -  std::list<test::RawRtpPacket*>::iterator it = media_rtp_packets.begin();
 | 
| +  auto it = media_rtp_packets.begin();
 | 
|    BuildAndAddRedMediaPacket(*it);  // First frame: one packet.
 | 
|    VerifyReconstructedMediaPacket(*it, 1);
 | 
|    EXPECT_EQ(0, receiver_fec_->ProcessReceivedFec());
 | 
| @@ -244,15 +244,15 @@ TEST_F(ReceiverFecTest, MaxFramesOneFec) {
 | 
|    const unsigned int kNumFecPackets = 1u;
 | 
|    const unsigned int kNumMediaPackets = 48u;
 | 
|    std::list<test::RawRtpPacket*> media_rtp_packets;
 | 
| -  std::list<Packet*> media_packets;
 | 
| +  ForwardErrorCorrection::PacketList media_packets;
 | 
|    for (unsigned int i = 0; i < kNumMediaPackets; ++i) {
 | 
|      GenerateFrame(1, i, &media_rtp_packets, &media_packets);
 | 
|    }
 | 
| -  std::list<Packet*> fec_packets;
 | 
| +  ForwardErrorCorrection::PacketList fec_packets;
 | 
|    GenerateFEC(&media_packets, &fec_packets, kNumFecPackets);
 | 
|  
 | 
|    // Recovery
 | 
| -  std::list<test::RawRtpPacket*>::iterator it = media_rtp_packets.begin();
 | 
| +  auto it = media_rtp_packets.begin();
 | 
|    ++it;  // Drop first packet.
 | 
|    for (; it != media_rtp_packets.end(); ++it) {
 | 
|      BuildAndAddRedMediaPacket(*it);
 | 
| @@ -271,11 +271,11 @@ TEST_F(ReceiverFecTest, TooManyFrames) {
 | 
|    const unsigned int kNumFecPackets = 1u;
 | 
|    const unsigned int kNumMediaPackets = 49u;
 | 
|    std::list<test::RawRtpPacket*> media_rtp_packets;
 | 
| -  std::list<Packet*> media_packets;
 | 
| +  ForwardErrorCorrection::PacketList media_packets;
 | 
|    for (unsigned int i = 0; i < kNumMediaPackets; ++i) {
 | 
|      GenerateFrame(1, i, &media_rtp_packets, &media_packets);
 | 
|    }
 | 
| -  std::list<Packet*> fec_packets;
 | 
| +  ForwardErrorCorrection::PacketList fec_packets;
 | 
|    EXPECT_EQ(-1, fec_->GenerateFEC(media_packets,
 | 
|                                    kNumFecPackets * 255 / kNumMediaPackets, 0,
 | 
|                                    false, kFecMaskBursty, &fec_packets));
 | 
| @@ -290,10 +290,10 @@ TEST_F(ReceiverFecTest, PacketNotDroppedTooEarly) {
 | 
|    const unsigned int kNumFecPacketsBatch1 = 1u;
 | 
|    const unsigned int kNumMediaPacketsBatch1 = 2u;
 | 
|    std::list<test::RawRtpPacket*> media_rtp_packets_batch1;
 | 
| -  std::list<Packet*> media_packets_batch1;
 | 
| +  ForwardErrorCorrection::PacketList media_packets_batch1;
 | 
|    GenerateFrame(kNumMediaPacketsBatch1, 0, &media_rtp_packets_batch1,
 | 
|                  &media_packets_batch1);
 | 
| -  std::list<Packet*> fec_packets;
 | 
| +  ForwardErrorCorrection::PacketList fec_packets;
 | 
|    GenerateFEC(&media_packets_batch1, &fec_packets, kNumFecPacketsBatch1);
 | 
|  
 | 
|    BuildAndAddRedMediaPacket(media_rtp_packets_batch1.front());
 | 
| @@ -305,12 +305,11 @@ TEST_F(ReceiverFecTest, PacketNotDroppedTooEarly) {
 | 
|    // Fill the FEC decoder. No packets should be dropped.
 | 
|    const unsigned int kNumMediaPacketsBatch2 = 46u;
 | 
|    std::list<test::RawRtpPacket*> media_rtp_packets_batch2;
 | 
| -  std::list<Packet*> media_packets_batch2;
 | 
| +  ForwardErrorCorrection::PacketList media_packets_batch2;
 | 
|    for (unsigned int i = 0; i < kNumMediaPacketsBatch2; ++i) {
 | 
|      GenerateFrame(1, i, &media_rtp_packets_batch2, &media_packets_batch2);
 | 
|    }
 | 
| -  for (std::list<test::RawRtpPacket*>::iterator it =
 | 
| -           media_rtp_packets_batch2.begin();
 | 
| +  for (auto it = media_rtp_packets_batch2.begin();
 | 
|         it != media_rtp_packets_batch2.end(); ++it) {
 | 
|      BuildAndAddRedMediaPacket(*it);
 | 
|      EXPECT_CALL(rtp_data_callback_, OnRecoveredPacket(_, _))
 | 
| @@ -335,10 +334,10 @@ TEST_F(ReceiverFecTest, PacketDroppedWhenTooOld) {
 | 
|    const unsigned int kNumFecPacketsBatch1 = 1u;
 | 
|    const unsigned int kNumMediaPacketsBatch1 = 2u;
 | 
|    std::list<test::RawRtpPacket*> media_rtp_packets_batch1;
 | 
| -  std::list<Packet*> media_packets_batch1;
 | 
| +  ForwardErrorCorrection::PacketList media_packets_batch1;
 | 
|    GenerateFrame(kNumMediaPacketsBatch1, 0, &media_rtp_packets_batch1,
 | 
|                  &media_packets_batch1);
 | 
| -  std::list<Packet*> fec_packets;
 | 
| +  ForwardErrorCorrection::PacketList fec_packets;
 | 
|    GenerateFEC(&media_packets_batch1, &fec_packets, kNumFecPacketsBatch1);
 | 
|  
 | 
|    BuildAndAddRedMediaPacket(media_rtp_packets_batch1.front());
 | 
| @@ -350,12 +349,11 @@ TEST_F(ReceiverFecTest, PacketDroppedWhenTooOld) {
 | 
|    // Fill the FEC decoder and force the last packet to be dropped.
 | 
|    const unsigned int kNumMediaPacketsBatch2 = 48u;
 | 
|    std::list<test::RawRtpPacket*> media_rtp_packets_batch2;
 | 
| -  std::list<Packet*> media_packets_batch2;
 | 
| +  ForwardErrorCorrection::PacketList media_packets_batch2;
 | 
|    for (unsigned int i = 0; i < kNumMediaPacketsBatch2; ++i) {
 | 
|      GenerateFrame(1, i, &media_rtp_packets_batch2, &media_packets_batch2);
 | 
|    }
 | 
| -  for (std::list<test::RawRtpPacket*>::iterator it =
 | 
| -           media_rtp_packets_batch2.begin();
 | 
| +  for (auto it = media_rtp_packets_batch2.begin();
 | 
|         it != media_rtp_packets_batch2.end(); ++it) {
 | 
|      BuildAndAddRedMediaPacket(*it);
 | 
|      EXPECT_CALL(rtp_data_callback_, OnRecoveredPacket(_, _))
 | 
| @@ -379,15 +377,14 @@ TEST_F(ReceiverFecTest, OldFecPacketDropped) {
 | 
|    // missing.
 | 
|    const unsigned int kNumMediaPackets = 49 * 2;
 | 
|    std::list<test::RawRtpPacket*> media_rtp_packets;
 | 
| -  std::list<Packet*> media_packets;
 | 
| +  ForwardErrorCorrection::PacketList media_packets;
 | 
|    for (unsigned int i = 0; i < kNumMediaPackets / 2; ++i) {
 | 
|      std::list<test::RawRtpPacket*> frame_media_rtp_packets;
 | 
| -    std::list<Packet*> frame_media_packets;
 | 
| -    std::list<Packet*> fec_packets;
 | 
| +    ForwardErrorCorrection::PacketList frame_media_packets;
 | 
| +    ForwardErrorCorrection::PacketList fec_packets;
 | 
|      GenerateFrame(2, 0, &frame_media_rtp_packets, &frame_media_packets);
 | 
|      GenerateFEC(&frame_media_packets, &fec_packets, 1);
 | 
| -    for (std::list<Packet*>::iterator it = fec_packets.begin();
 | 
| -         it != fec_packets.end(); ++it) {
 | 
| +    for (auto it = fec_packets.begin(); it != fec_packets.end(); ++it) {
 | 
|        // Only FEC packets inserted. No packets recoverable at this time.
 | 
|        BuildAndAddRedFecPacket(*it);
 | 
|        EXPECT_CALL(rtp_data_callback_, OnRecoveredPacket(_, _))
 | 
| 
 |