| Index: webrtc/modules/video_coding/video_receiver.cc
|
| diff --git a/webrtc/modules/video_coding/video_receiver.cc b/webrtc/modules/video_coding/video_receiver.cc
|
| index e7844d0add3aaf2c2f441043278f0264c27c6f76..02d51a7b900f93dba9a11088a125d052a2f91ded 100644
|
| --- a/webrtc/modules/video_coding/video_receiver.cc
|
| +++ b/webrtc/modules/video_coding/video_receiver.cc
|
| @@ -63,7 +63,9 @@
|
| #endif
|
| }
|
|
|
| -void VideoReceiver::Process() {
|
| +int32_t VideoReceiver::Process() {
|
| + int32_t returnValue = VCM_OK;
|
| +
|
| // Receive-side statistics
|
| if (_receiveStatsTimer.TimeUntilProcess() == 0) {
|
| _receiveStatsTimer.Processed();
|
| @@ -106,8 +108,12 @@
|
| CriticalSectionScoped cs(process_crit_sect_.get());
|
| request_key_frame = _scheduleKeyRequest && _frameTypeCallback != NULL;
|
| }
|
| - if (request_key_frame)
|
| - RequestKeyFrame();
|
| + if (request_key_frame) {
|
| + const int32_t ret = RequestKeyFrame();
|
| + if (ret != VCM_OK && returnValue == VCM_OK) {
|
| + returnValue = ret;
|
| + }
|
| + }
|
| }
|
|
|
| // Packet retransmission requests
|
| @@ -129,6 +135,9 @@
|
| int32_t ret = VCM_OK;
|
| if (request_key_frame) {
|
| ret = RequestKeyFrame();
|
| + if (ret != VCM_OK && returnValue == VCM_OK) {
|
| + returnValue = ret;
|
| + }
|
| }
|
| if (ret == VCM_OK && !nackList.empty()) {
|
| CriticalSectionScoped cs(process_crit_sect_.get());
|
| @@ -138,6 +147,8 @@
|
| }
|
| }
|
| }
|
| +
|
| + return returnValue;
|
| }
|
|
|
| int64_t VideoReceiver::TimeUntilNextProcess() {
|
|
|