video_coding: Checking/updating seq num for an old packet regardless of size.

Review URL: http://webrtc-codereview.appspot.com/330028

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1318 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
mikhal@webrtc.org
2012-01-03 20:35:25 +00:00
parent c00f91d62d
commit 77c425b976
4 changed files with 30 additions and 15 deletions

View File

@@ -194,7 +194,7 @@ TEST(TestDecodingState, SetStateOneBack) {
delete packet;
}
TEST(TestDecodingState, UpdateZeroSizePacket) {
TEST(TestDecodingState, UpdateOldPacket) {
VCMDecodingState dec_state;
// Update only if zero size and newer than previous.
// Should only update if the timeStamp match.
@@ -210,15 +210,30 @@ TEST(TestDecodingState, UpdateZeroSizePacket) {
// Insert an empty packet that does not belong to the same frame.
// => Sequence num should be the same.
packet->timestamp = 2;
dec_state.UpdateZeroSizePacket(packet);
dec_state.UpdateOldPacket(packet);
EXPECT_EQ(dec_state.sequence_num(), 1);
// Now insert empty packet belonging to the same frame.
packet->timestamp = 1;
packet->seqNum = 2;
packet->frameType = kFrameEmpty;
packet->sizeBytes = 0;
dec_state.UpdateZeroSizePacket(packet);
dec_state.UpdateOldPacket(packet);
EXPECT_EQ(dec_state.sequence_num(), 2);
// Now insert delta packet belonging to the same frame.
packet->timestamp = 1;
packet->seqNum = 3;
packet->frameType = kVideoFrameDelta;
packet->sizeBytes = 1400;
dec_state.UpdateOldPacket(packet);
EXPECT_EQ(dec_state.sequence_num(), 3);
// Insert a packet belonging to an older timestamp - should not update the
// sequence number.
packet->timestamp = 0;
packet->seqNum = 4;
packet->frameType = kFrameEmpty;
packet->sizeBytes = 0;
dec_state.UpdateOldPacket(packet);
EXPECT_EQ(dec_state.sequence_num(), 3);
delete packet;
}