removing redundant calls to cleanframes
Review URL: https://webrtc-codereview.appspot.com/1318004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3844 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/modules/video_coding/main/source/jitter_buffer.cc b/webrtc/modules/video_coding/main/source/jitter_buffer.cc
index 701f92b..849d641 100644
--- a/webrtc/modules/video_coding/main/source/jitter_buffer.cc
+++ b/webrtc/modules/video_coding/main/source/jitter_buffer.cc
@@ -512,8 +512,6 @@
oldest_frame->SetState(kStateDecoding);
- CleanUpOldOrEmptyFrames();
-
if (oldest_frame->FrameType() == kVideoFrameKey) {
waiting_for_key_frame_ = false;
}
@@ -583,8 +581,6 @@
// Set as decoding. Propagates the missing_frame bit.
oldest_frame->SetState(kStateDecoding);
- CleanUpOldOrEmptyFrames();
-
if (oldest_frame->FrameType() == kVideoFrameKey) {
waiting_for_key_frame_ = false;
}
@@ -1029,9 +1025,6 @@
// decoder.
oldest_frame->SetState(kStateDecoding);
- // Clean up old frames and empty frames.
- CleanUpOldOrEmptyFrames();
-
if (oldest_frame->FrameType() == kVideoFrameKey) {
waiting_for_key_frame_ = false;
}
diff --git a/webrtc/modules/video_coding/main/source/jitter_buffer.h b/webrtc/modules/video_coding/main/source/jitter_buffer.h
index d8bee42..669089f 100644
--- a/webrtc/modules/video_coding/main/source/jitter_buffer.h
+++ b/webrtc/modules/video_coding/main/source/jitter_buffer.h
@@ -161,6 +161,7 @@
// Enable/disable decoding with errors.
void DecodeWithErrors(bool enable) {decode_with_errors_ = enable;}
int64_t LastDecodedTimestamp() const;
+ bool decode_with_errors() const {return decode_with_errors_;}
private:
class SequenceNumberLessThan {
diff --git a/webrtc/modules/video_coding/main/source/receiver.cc b/webrtc/modules/video_coding/main/source/receiver.cc
index 6869691..f5e23f7 100644
--- a/webrtc/modules/video_coding/main/source/receiver.cc
+++ b/webrtc/modules/video_coding/main/source/receiver.cc
@@ -309,7 +309,7 @@
// Get a complete frame if possible.
VCMEncodedFrame* frame = jitter_buffer_.GetCompleteFrameForDecoding(0);
- if (frame == NULL) {
+ if (frame == NULL && jitter_buffer_.decode_with_errors()) {
// Get an incomplete frame.
const bool dual_receiver_enabled_and_passive = (dual_receiver != NULL &&
dual_receiver->State() == kPassive &&