VCM/JB:Removing hybrid and setting a decodable state.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3834 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
mikhal@webrtc.org
2013-04-11 18:49:13 +00:00
parent 7bc465bd21
commit 9da751715f
4 changed files with 18 additions and 20 deletions

View File

@ -29,9 +29,6 @@ namespace webrtc {
enum VCMNackMode {
kNack,
// TODO(holmer): There is no longer a hybrid NACK mode. We should remove this
// and replace it with a jitter buffer API for setting allowing decode errors.
kNackHybrid,
kNoNack
};
@ -161,6 +158,8 @@ class VCMJitterBuffer {
// Returns a list of the sequence numbers currently missing.
uint16_t* GetNackList(uint16_t* nack_list_size, bool* request_key_frame);
// Enable/disable decoding with errors.
void DecodeWithErrors(bool enable) {decode_with_errors_ = enable;}
int64_t LastDecodedTimestamp() const;
private:
@ -210,8 +209,8 @@ class VCMJitterBuffer {
VCMFrameBufferEnum UpdateFrameState(VCMFrameBuffer* frame);
// Finds the oldest complete frame, used for getting next frame to decode.
// Can return a decodable, incomplete frame if |enable_decodable| is true.
FrameList::iterator FindOldestCompleteContinuousFrame(bool enable_decodable);
// Can return a decodable, incomplete frame when enabled.
FrameList::iterator FindOldestCompleteContinuousFrame();
void CleanUpOldOrEmptyFrames();
@ -296,6 +295,7 @@ class VCMJitterBuffer {
int max_packet_age_to_nack_; // Measured in sequence numbers.
bool waiting_for_key_frame_;
bool decode_with_errors_;
DISALLOW_COPY_AND_ASSIGN(VCMJitterBuffer);
};
} // namespace webrtc