Make sure first RTP packet counts as in-order.

BUG=
R=henrika@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1811004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4350 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
pbos@webrtc.org 2013-07-16 13:03:35 +00:00
parent 2e10b8e4a0
commit 9b82dced8d

View File

@ -84,7 +84,8 @@ RtpReceiverImpl::RtpReceiverImpl(int32_t id,
rtx_(false), rtx_(false),
ssrc_rtx_(0), ssrc_rtx_(0),
payload_type_rtx_(-1) { payload_type_rtx_(-1) {
assert(incoming_audio_messages_callback && incoming_messages_callback); assert(incoming_audio_messages_callback);
assert(incoming_messages_callback);
memset(current_remote_csrc_, 0, sizeof(current_remote_csrc_)); memset(current_remote_csrc_, 0, sizeof(current_remote_csrc_));
@ -368,6 +369,11 @@ bool RtpReceiverImpl::RetransmitOfOldPacket(const RTPHeader& header,
bool RtpReceiverImpl::InOrderPacket(const uint16_t sequence_number) const { bool RtpReceiverImpl::InOrderPacket(const uint16_t sequence_number) const {
CriticalSectionScoped cs(critical_section_rtp_receiver_); CriticalSectionScoped cs(critical_section_rtp_receiver_);
// First packet is always in order.
if (last_receive_time_ == 0)
return true;
if (IsNewerSequenceNumber(sequence_number, last_received_sequence_number_)) { if (IsNewerSequenceNumber(sequence_number, last_received_sequence_number_)) {
return true; return true;
} else { } else {