| Index: webrtc/modules/rtp_rtcp/source/flexfec_sender.cc | 
| diff --git a/webrtc/modules/rtp_rtcp/source/flexfec_sender.cc b/webrtc/modules/rtp_rtcp/source/flexfec_sender.cc | 
| index a2c9ae39adc6bbdc2d16b4f960c7ce2e65f3baa0..feefe3d1ac302da62ff8bf3d0f8a5e89a3bf844e 100644 | 
| --- a/webrtc/modules/rtp_rtcp/source/flexfec_sender.cc | 
| +++ b/webrtc/modules/rtp_rtcp/source/flexfec_sender.cc | 
| @@ -65,17 +65,21 @@ FlexfecSender::FlexfecSender( | 
| uint32_t protected_media_ssrc, | 
| const std::vector<RtpExtension>& rtp_header_extensions, | 
| rtc::ArrayView<const RtpExtensionSize> extension_sizes, | 
| +    const RtpState* rtp_state, | 
| Clock* clock) | 
| : clock_(clock), | 
| random_(clock_->TimeInMicroseconds()), | 
| last_generated_packet_ms_(-1), | 
| payload_type_(payload_type), | 
| -      // Initialize the timestamp offset and RTP sequence numbers randomly. | 
| -      // (This is not intended to be cryptographically strong.) | 
| -      timestamp_offset_(random_.Rand<uint32_t>()), | 
| +      // Reset RTP state if this is not the first time we are operating. | 
| +      // Otherwise, randomize the initial timestamp offset and RTP sequence | 
| +      // numbers. (This is not intended to be cryptographically strong.) | 
| +      timestamp_offset_(rtp_state ? rtp_state->start_timestamp | 
| +                                  : random_.Rand<uint32_t>()), | 
| ssrc_(ssrc), | 
| protected_media_ssrc_(protected_media_ssrc), | 
| -      seq_num_(random_.Rand(1, kMaxInitRtpSeqNumber)), | 
| +      seq_num_(rtp_state ? rtp_state->sequence_number | 
| +                         : random_.Rand(1, kMaxInitRtpSeqNumber)), | 
| ulpfec_generator_(ForwardErrorCorrection::CreateFlexfec()), | 
| rtp_header_extension_map_(RegisterBweExtensions(rtp_header_extensions)), | 
| header_extensions_size_( | 
| @@ -154,4 +158,11 @@ size_t FlexfecSender::MaxPacketOverhead() const { | 
| return header_extensions_size_ + kFlexfecMaxHeaderSize; | 
| } | 
|  | 
| +RtpState FlexfecSender::GetRtpState() { | 
| +  RtpState rtp_state; | 
| +  rtp_state.sequence_number = seq_num_; | 
| +  rtp_state.start_timestamp = timestamp_offset_; | 
| +  return rtp_state; | 
| +} | 
| + | 
| }  // namespace webrtc | 
|  |