VCM/JB: FrameForDecoding->IncompleteFrameForDecoding

- Update complete frame for decoding
- Remove FrameForDecodingNack

This CL should only be committed after issue http://webrtc-codereview.appspot.com/1313007/

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3901 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
mikhal@webrtc.org
2013-04-25 20:27:04 +00:00
parent b84f13f185
commit dc3cd217b2
8 changed files with 74 additions and 164 deletions

View File

@ -254,11 +254,8 @@ VCMEncodedFrame* VCMReceiver::FrameForDecoding(
!jitter_buffer_.CompleteSequenceWithNextFrame()) {
// Jitter buffer state might get corrupt with this frame.
dual_receiver->CopyJitterBufferStateFromReceiver(*this);
frame = jitter_buffer_.GetFrameForDecoding();
assert(frame);
} else {
frame = jitter_buffer_.GetFrameForDecoding();
}
frame = jitter_buffer_.MaybeGetIncompleteFrameForDecoding();
}
if (frame == NULL) {
// Wait for a complete frame.
@ -282,7 +279,7 @@ VCMEncodedFrame* VCMReceiver::FrameForDecoding(
dual_receiver->CopyJitterBufferStateFromReceiver(*this);
}
frame = jitter_buffer_.GetFrameForDecoding();
frame = jitter_buffer_.MaybeGetIncompleteFrameForDecoding();
}
return frame;
}
@ -320,7 +317,7 @@ VCMEncodedFrame* VCMReceiver::FrameForRendering(uint16_t max_wait_time_ms,
dual_receiver->CopyJitterBufferStateFromReceiver(*this);
}
frame = jitter_buffer_.GetFrameForDecoding();
frame = jitter_buffer_.MaybeGetIncompleteFrameForDecoding();
}
return frame;
}
@ -412,6 +409,16 @@ VCMReceiverState VCMReceiver::State() const {
return state_;
}
void VCMReceiver::SetDecodeWithErrors(bool enable){
CriticalSectionScoped cs(crit_sect_);
jitter_buffer_.DecodeWithErrors(enable);
}
bool VCMReceiver::DecodeWithErrors() const {
CriticalSectionScoped cs(crit_sect_);
return jitter_buffer_.decode_with_errors();
}
int VCMReceiver::SetMinReceiverDelay(int desired_delay_ms) {
CriticalSectionScoped cs(crit_sect_);
if (desired_delay_ms < 0 || desired_delay_ms > kMaxReceiverDelayMs) {