Chromium Code Reviews| Index: webrtc/modules/video_coding/main/source/video_receiver.cc |
| diff --git a/webrtc/modules/video_coding/main/source/video_receiver.cc b/webrtc/modules/video_coding/main/source/video_receiver.cc |
| index b728e9b380659bbfdee17b01a23044892691f939..8b0509eb1eec33b963cc1d7b636d029e036d0f66 100644 |
| --- a/webrtc/modules/video_coding/main/source/video_receiver.cc |
| +++ b/webrtc/modules/video_coding/main/source/video_receiver.cc |
| @@ -42,7 +42,6 @@ VideoReceiver::VideoReceiver(Clock* clock, EventFactory* event_factory) |
| _bitStreamBeforeDecoder(NULL), |
| #endif |
| _frameFromFile(), |
| - _keyRequestMode(kKeyOnError), |
| _scheduleKeyRequest(false), |
| max_nack_list_size_(0), |
| pre_decode_image_callback_(NULL), |
| @@ -194,31 +193,6 @@ int32_t VideoReceiver::SetVideoProtection(VCMVideoProtection videoProtection, |
| break; |
| } |
| - case kProtectionKeyOnLoss: { |
| - CriticalSectionScoped cs(_receiveCritSect); |
| - if (enable) { |
| - _keyRequestMode = kKeyOnLoss; |
| - _receiver.SetDecodeErrorMode(kWithErrors); |
| - } else if (_keyRequestMode == kKeyOnLoss) { |
| - _keyRequestMode = kKeyOnError; // default mode |
| - } else { |
| - return VCM_PARAMETER_ERROR; |
| - } |
| - break; |
| - } |
| - |
| - case kProtectionKeyOnKeyLoss: { |
| - CriticalSectionScoped cs(_receiveCritSect); |
| - if (enable) { |
| - _keyRequestMode = kKeyOnKeyLoss; |
| - } else if (_keyRequestMode == kKeyOnKeyLoss) { |
| - _keyRequestMode = kKeyOnError; // default mode |
| - } else { |
| - return VCM_PARAMETER_ERROR; |
| - } |
| - break; |
| - } |
| - |
| case kProtectionNackFEC: { |
| CriticalSectionScoped cs(_receiveCritSect); |
| DCHECK(enable); |
| @@ -419,22 +393,8 @@ int32_t VideoReceiver::Decode(const VCMEncodedFrame& frame) { |
| _decodedFrameCallback.LastReceivedPictureID() + 1); |
| } |
| if (!frame.Complete() || frame.MissingFrame()) { |
| - switch (_keyRequestMode) { |
| - case kKeyOnKeyLoss: { |
| - if (frame.FrameType() == kVideoFrameKey) { |
| - request_key_frame = true; |
| - ret = VCM_OK; |
| - } |
| - break; |
| - } |
| - case kKeyOnLoss: { |
| - request_key_frame = true; |
| - ret = VCM_OK; |
| - break; |
| - } |
| - default: |
| - break; |
| - } |
| + request_key_frame = true; |
|
stefan-webrtc
2015/07/27 13:01:08
Not sure about this change. I think I'd prefer for
pbos-webrtc
2015/07/27 13:05:11
Right now it's a no-op since this mode was always
|
| + ret = VCM_OK; |
| } |
| if (request_key_frame) { |
| CriticalSectionScoped cs(process_crit_sect_.get()); |
| @@ -552,16 +512,10 @@ int VideoReceiver::SetReceiverRobustnessMode( |
| switch (robustnessMode) { |
| case VideoCodingModule::kNone: |
| _receiver.SetNackMode(kNoNack, -1, -1); |
| - if (decode_error_mode == kNoErrors) { |
| - _keyRequestMode = kKeyOnLoss; |
| - } else { |
| - _keyRequestMode = kKeyOnError; |
| - } |
| break; |
| case VideoCodingModule::kHardNack: |
| // Always wait for retransmissions (except when decoding with errors). |
| _receiver.SetNackMode(kNack, -1, -1); |
| - _keyRequestMode = kKeyOnError; // TODO(hlundin): On long NACK list? |
| break; |
| case VideoCodingModule::kSoftNack: |
| #if 1 |
| @@ -571,7 +525,6 @@ int VideoReceiver::SetReceiverRobustnessMode( |
| // Enable hybrid NACK/FEC. Always wait for retransmissions and don't add |
| // extra delay when RTT is above kLowRttNackMs. |
| _receiver.SetNackMode(kNack, media_optimization::kLowRttNackMs, -1); |
| - _keyRequestMode = kKeyOnError; |
| break; |
| #endif |
| case VideoCodingModule::kReferenceSelection: |