Index: webrtc/modules/video_coding/packet_buffer.cc |
diff --git a/webrtc/modules/video_coding/packet_buffer.cc b/webrtc/modules/video_coding/packet_buffer.cc |
index 03aeb5a4a9691e7fd867aada0b97628e272fd71c..e68bf623a47947ec7abf1f9240cea0f258d2bcac 100644 |
--- a/webrtc/modules/video_coding/packet_buffer.cc |
+++ b/webrtc/modules/video_coding/packet_buffer.cc |
@@ -40,7 +40,6 @@ PacketBuffer::PacketBuffer(Clock* clock, |
size_(start_buffer_size), |
max_size_(max_buffer_size), |
first_seq_num_(0), |
- last_seq_num_(0), |
first_packet_received_(false), |
is_cleared_to_first_seq_num_(false), |
data_buffer_(start_buffer_size), |
@@ -65,7 +64,6 @@ bool PacketBuffer::InsertPacket(VCMPacket* packet) { |
if (!first_packet_received_) { |
first_seq_num_ = seq_num; |
- last_seq_num_ = seq_num; |
first_packet_received_ = true; |
} else if (AheadOf(first_seq_num_, seq_num)) { |
// If we have explicitly cleared past this packet then it's old, |
@@ -100,9 +98,6 @@ bool PacketBuffer::InsertPacket(VCMPacket* packet) { |
} |
} |
- if (AheadOf(seq_num, last_seq_num_)) |
- last_seq_num_ = seq_num; |
- |
sequence_buffer_[index].frame_begin = packet->isFirstPacket; |
sequence_buffer_[index].frame_end = packet->markerBit; |
sequence_buffer_[index].seq_num = packet->seqNum; |
@@ -186,6 +181,8 @@ bool PacketBuffer::PotentialNewFrame(uint16_t seq_num) const { |
return true; |
if (!sequence_buffer_[prev_index].used) |
return false; |
+ if (sequence_buffer_[prev_index].frame_created) |
stefan-webrtc
2017/01/10 11:50:00
It's not clear to me why this is needed. Why can't
philipel
2017/01/10 12:03:36
This check covers this case:
p1:
seqnum 1
first
|
+ return false; |
if (sequence_buffer_[prev_index].seq_num != |
sequence_buffer_[index].seq_num - 1) { |
return false; |