Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(565)

Unified Diff: webrtc/modules/video_coding/main/source/video_receiver.cc

Issue 1226143013: Merge methods for configuring NACK/FEC/hybrid. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 08e6208c367901a446b407ab6e12e23ed35ec06f..b728e9b380659bbfdee17b01a23044892691f939 100644
--- a/webrtc/modules/video_coding/main/source/video_receiver.cc
+++ b/webrtc/modules/video_coding/main/source/video_receiver.cc
@@ -8,6 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
+#include "webrtc/base/checks.h"
#include "webrtc/common_types.h"
#include "webrtc/common_video/libyuv/include/webrtc_libyuv.h"
#include "webrtc/modules/video_coding/codecs/interface/video_codec_interface.h"
@@ -187,15 +188,9 @@ int32_t VideoReceiver::SetVideoProtection(VCMVideoProtection videoProtection,
// By default, do not decode with errors.
_receiver.SetDecodeErrorMode(kNoErrors);
switch (videoProtection) {
- case kProtectionNack:
- case kProtectionNackReceiver: {
- CriticalSectionScoped cs(_receiveCritSect);
- if (enable) {
- // Enable NACK and always wait for retransmits.
- _receiver.SetNackMode(kNack, -1, -1);
- } else {
- _receiver.SetNackMode(kNoNack, -1, -1);
- }
+ case kProtectionNack: {
+ DCHECK(enable);
+ _receiver.SetNackMode(kNack, -1, -1);
break;
}
@@ -226,25 +221,17 @@ int32_t VideoReceiver::SetVideoProtection(VCMVideoProtection videoProtection,
case kProtectionNackFEC: {
CriticalSectionScoped cs(_receiveCritSect);
- if (enable) {
- // 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);
- _receiver.SetDecodeErrorMode(kNoErrors);
- _receiver.SetDecodeErrorMode(kNoErrors);
- } else {
- _receiver.SetNackMode(kNoNack, -1, -1);
- }
+ DCHECK(enable);
+ _receiver.SetNackMode(kNack, media_optimization::kLowRttNackMs, -1);
+ _receiver.SetDecodeErrorMode(kNoErrors);
break;
}
- case kProtectionNackSender:
case kProtectionFEC:
- // Ignore encoder modes.
- return VCM_OK;
case kProtectionNone:
- // TODO(pbos): Implement like sender and remove enable parameter. Ignored
- // for now.
+ // No receiver-side protection.
+ DCHECK(enable);
+ _receiver.SetNackMode(kNoNack, -1, -1);
+ _receiver.SetDecodeErrorMode(kWithErrors);
break;
}
return VCM_OK;
« no previous file with comments | « webrtc/modules/video_coding/main/source/video_coding_impl.cc ('k') | webrtc/modules/video_coding/main/source/video_sender.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698