| Index: webrtc/video/rtp_stream_receiver.cc
 | 
| diff --git a/webrtc/video/rtp_stream_receiver.cc b/webrtc/video/rtp_stream_receiver.cc
 | 
| index 99d0cc893f25f19d606fdfdfd09827f447be3b79..78057771d6e5705b65e37eebdbba59ef24fa8c88 100644
 | 
| --- a/webrtc/video/rtp_stream_receiver.cc
 | 
| +++ b/webrtc/video/rtp_stream_receiver.cc
 | 
| @@ -277,17 +277,17 @@ int32_t RtpStreamReceiver::OnReceivedPayloadData(
 | 
|  }
 | 
|  
 | 
|  // TODO(nisse): Try to delete this method. Obstacles: It is used by
 | 
| -// ParseAndHandleEncapsulatingHeader, for handling Rtx packets. And
 | 
| -// it's part of the RtpData interface which we implement.
 | 
| -bool RtpStreamReceiver::OnRecoveredPacket(const uint8_t* rtp_packet,
 | 
| +// ParseAndHandleEncapsulatingHeader, for handling Rtx packets, and
 | 
| +// for callbacks from |ulpfec_receiver_|.
 | 
| +void RtpStreamReceiver::OnRecoveredPacket(const uint8_t* rtp_packet,
 | 
|                                            size_t rtp_packet_length) {
 | 
|    RTPHeader header;
 | 
|    if (!rtp_header_parser_->Parse(rtp_packet, rtp_packet_length, &header)) {
 | 
| -    return false;
 | 
| +    return;
 | 
|    }
 | 
|    header.payload_type_frequency = kVideoPayloadTypeFrequency;
 | 
|    bool in_order = IsPacketInOrder(header);
 | 
| -  return ReceivePacket(rtp_packet, rtp_packet_length, header, in_order);
 | 
| +  ReceivePacket(rtp_packet, rtp_packet_length, header, in_order);
 | 
|  }
 | 
|  
 | 
|  // TODO(pbos): Remove as soon as audio can handle a changing payload type
 | 
| @@ -428,13 +428,13 @@ rtc::Optional<int64_t> RtpStreamReceiver::LastReceivedKeyframePacketMs() const {
 | 
|    return packet_buffer_->LastReceivedKeyframePacketMs();
 | 
|  }
 | 
|  
 | 
| -// TODO(nisse): Drop return value.
 | 
| -bool RtpStreamReceiver::ReceivePacket(const uint8_t* packet,
 | 
| +void RtpStreamReceiver::ReceivePacket(const uint8_t* packet,
 | 
|                                        size_t packet_length,
 | 
|                                        const RTPHeader& header,
 | 
|                                        bool in_order) {
 | 
|    if (rtp_payload_registry_.IsEncapsulated(header)) {
 | 
| -    return ParseAndHandleEncapsulatingHeader(packet, packet_length, header);
 | 
| +    ParseAndHandleEncapsulatingHeader(packet, packet_length, header);
 | 
| +    return;
 | 
|    }
 | 
|    const uint8_t* payload = packet + header.headerLength;
 | 
|    assert(packet_length >= header.headerLength);
 | 
| @@ -442,13 +442,13 @@ bool RtpStreamReceiver::ReceivePacket(const uint8_t* packet,
 | 
|    PayloadUnion payload_specific;
 | 
|    if (!rtp_payload_registry_.GetPayloadSpecifics(header.payloadType,
 | 
|                                                   &payload_specific)) {
 | 
| -    return false;
 | 
| +    return;
 | 
|    }
 | 
| -  return rtp_receiver_->IncomingRtpPacket(header, payload, payload_length,
 | 
| -                                          payload_specific, in_order);
 | 
| +  rtp_receiver_->IncomingRtpPacket(header, payload, payload_length,
 | 
| +                                   payload_specific, in_order);
 | 
|  }
 | 
|  
 | 
| -bool RtpStreamReceiver::ParseAndHandleEncapsulatingHeader(
 | 
| +void RtpStreamReceiver::ParseAndHandleEncapsulatingHeader(
 | 
|      const uint8_t* packet, size_t packet_length, const RTPHeader& header) {
 | 
|    if (rtp_payload_registry_.IsRed(header)) {
 | 
|      int8_t ulpfec_pt = rtp_payload_registry_.ulpfec_payload_type();
 | 
| @@ -460,24 +460,24 @@ bool RtpStreamReceiver::ParseAndHandleEncapsulatingHeader(
 | 
|      }
 | 
|      if (ulpfec_receiver_->AddReceivedRedPacket(header, packet, packet_length,
 | 
|                                                 ulpfec_pt) != 0) {
 | 
| -      return false;
 | 
| +      return;
 | 
|      }
 | 
| -    return ulpfec_receiver_->ProcessReceivedFec() == 0;
 | 
| +    ulpfec_receiver_->ProcessReceivedFec();
 | 
|    } else if (rtp_payload_registry_.IsRtx(header)) {
 | 
|      if (header.headerLength + header.paddingLength == packet_length) {
 | 
|        // This is an empty packet and should be silently dropped before trying to
 | 
|        // parse the RTX header.
 | 
| -      return true;
 | 
| +      return;
 | 
|      }
 | 
|      // Remove the RTX header and parse the original RTP header.
 | 
|      if (packet_length < header.headerLength)
 | 
| -      return false;
 | 
| +      return;
 | 
|      if (packet_length > sizeof(restored_packet_))
 | 
| -      return false;
 | 
| +      return;
 | 
|      rtc::CritScope lock(&receive_cs_);
 | 
|      if (restored_packet_in_use_) {
 | 
|        LOG(LS_WARNING) << "Multiple RTX headers detected, dropping packet.";
 | 
| -      return false;
 | 
| +      return;
 | 
|      }
 | 
|      if (!rtp_payload_registry_.RestoreOriginalPacket(
 | 
|              restored_packet_, packet, &packet_length, rtp_receiver_->SSRC(),
 | 
| @@ -485,14 +485,12 @@ bool RtpStreamReceiver::ParseAndHandleEncapsulatingHeader(
 | 
|        LOG(LS_WARNING) << "Incoming RTX packet: Invalid RTP header ssrc: "
 | 
|                        << header.ssrc << " payload type: "
 | 
|                        << static_cast<int>(header.payloadType);
 | 
| -      return false;
 | 
| +      return;
 | 
|      }
 | 
|      restored_packet_in_use_ = true;
 | 
| -    bool ret = OnRecoveredPacket(restored_packet_, packet_length);
 | 
| +    OnRecoveredPacket(restored_packet_, packet_length);
 | 
|      restored_packet_in_use_ = false;
 | 
| -    return ret;
 | 
|    }
 | 
| -  return false;
 | 
|  }
 | 
|  
 | 
|  void RtpStreamReceiver::NotifyReceiverOfFecPacket(const RTPHeader& header) {
 | 
| 
 |