Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1275)

Unified Diff: webrtc/modules/video_coding/packet_buffer.h

Issue 2399373002: Only advance |first_seq_num_| if packets are explicitly cleared from the PacketBuffer. (Closed)
Patch Set: Compile fix 2 Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/video_coding/packet_buffer.h
diff --git a/webrtc/modules/video_coding/packet_buffer.h b/webrtc/modules/video_coding/packet_buffer.h
index 34a2d402bbbb24461a44dcd233264e86eef913bb..15645f607a86cd9df2c4df946ae6e32f63ad497c 100644
--- a/webrtc/modules/video_coding/packet_buffer.h
+++ b/webrtc/modules/video_coding/packet_buffer.h
@@ -48,7 +48,8 @@ class PacketBuffer {
virtual ~PacketBuffer();
- // Made virtual for testing.
+ // Returns true if |packet| is inserted into the packet buffer,
+ // false otherwise. Made virtual for testing.
virtual bool InsertPacket(const VCMPacket& packet);
void ClearTo(uint16_t seq_num);
void Clear();
@@ -94,7 +95,8 @@ class PacketBuffer {
bool ExpandBufferSize() EXCLUSIVE_LOCKS_REQUIRED(crit_);
// Test if all previous packets has arrived for the given sequence number.
- bool IsContinuous(uint16_t seq_num) const EXCLUSIVE_LOCKS_REQUIRED(crit_);
+ bool PotentialNewFrame(uint16_t seq_num) const
+ EXCLUSIVE_LOCKS_REQUIRED(crit_);
// Test if all packets of a frame has arrived, and if so, creates a frame.
// May create multiple frames per invocation.
@@ -127,6 +129,9 @@ class PacketBuffer {
// If the packet buffer has received its first packet.
bool first_packet_received_ GUARDED_BY(crit_);
+ // If the buffer is cleared to |first_seq_num_|.
+ bool is_cleared_to_first_seq_num_ GUARDED_BY(crit_);
+
// Buffer that holds the inserted packets.
std::vector<VCMPacket> data_buffer_ GUARDED_BY(crit_);

Powered by Google App Engine
This is Rietveld 408576698