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

Side by Side Diff: webrtc/modules/video_coding/video_receiver.cc

Issue 1703833002: Remove ignored return code from modules. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase Created 4 years, 10 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 #endif 56 #endif
57 } 57 }
58 58
59 VideoReceiver::~VideoReceiver() { 59 VideoReceiver::~VideoReceiver() {
60 delete _receiveCritSect; 60 delete _receiveCritSect;
61 #ifdef DEBUG_DECODER_BIT_STREAM 61 #ifdef DEBUG_DECODER_BIT_STREAM
62 fclose(_bitStreamBeforeDecoder); 62 fclose(_bitStreamBeforeDecoder);
63 #endif 63 #endif
64 } 64 }
65 65
66 int32_t VideoReceiver::Process() { 66 void VideoReceiver::Process() {
67 int32_t returnValue = VCM_OK;
68
69 // Receive-side statistics 67 // Receive-side statistics
70 if (_receiveStatsTimer.TimeUntilProcess() == 0) { 68 if (_receiveStatsTimer.TimeUntilProcess() == 0) {
71 _receiveStatsTimer.Processed(); 69 _receiveStatsTimer.Processed();
72 CriticalSectionScoped cs(process_crit_sect_.get()); 70 CriticalSectionScoped cs(process_crit_sect_.get());
73 if (_receiveStatsCallback != NULL) { 71 if (_receiveStatsCallback != NULL) {
74 uint32_t bitRate; 72 uint32_t bitRate;
75 uint32_t frameRate; 73 uint32_t frameRate;
76 _receiver.ReceiveStatistics(&bitRate, &frameRate); 74 _receiver.ReceiveStatistics(&bitRate, &frameRate);
77 _receiveStatsCallback->OnReceiveRatesUpdated(bitRate, frameRate); 75 _receiveStatsCallback->OnReceiveRatesUpdated(bitRate, frameRate);
78 } 76 }
(...skipping 22 matching lines...) Expand all
101 } 99 }
102 100
103 // Key frame requests 101 // Key frame requests
104 if (_keyRequestTimer.TimeUntilProcess() == 0) { 102 if (_keyRequestTimer.TimeUntilProcess() == 0) {
105 _keyRequestTimer.Processed(); 103 _keyRequestTimer.Processed();
106 bool request_key_frame = false; 104 bool request_key_frame = false;
107 { 105 {
108 CriticalSectionScoped cs(process_crit_sect_.get()); 106 CriticalSectionScoped cs(process_crit_sect_.get());
109 request_key_frame = _scheduleKeyRequest && _frameTypeCallback != NULL; 107 request_key_frame = _scheduleKeyRequest && _frameTypeCallback != NULL;
110 } 108 }
111 if (request_key_frame) { 109 if (request_key_frame)
112 const int32_t ret = RequestKeyFrame(); 110 RequestKeyFrame();
113 if (ret != VCM_OK && returnValue == VCM_OK) {
114 returnValue = ret;
115 }
116 }
117 } 111 }
118 112
119 // Packet retransmission requests 113 // Packet retransmission requests
120 // TODO(holmer): Add API for changing Process interval and make sure it's 114 // TODO(holmer): Add API for changing Process interval and make sure it's
121 // disabled when NACK is off. 115 // disabled when NACK is off.
122 if (_retransmissionTimer.TimeUntilProcess() == 0) { 116 if (_retransmissionTimer.TimeUntilProcess() == 0) {
123 _retransmissionTimer.Processed(); 117 _retransmissionTimer.Processed();
124 bool callback_registered = false; 118 bool callback_registered = false;
125 uint16_t length; 119 uint16_t length;
126 { 120 {
127 CriticalSectionScoped cs(process_crit_sect_.get()); 121 CriticalSectionScoped cs(process_crit_sect_.get());
128 length = max_nack_list_size_; 122 length = max_nack_list_size_;
129 callback_registered = _packetRequestCallback != NULL; 123 callback_registered = _packetRequestCallback != NULL;
130 } 124 }
131 if (callback_registered && length > 0) { 125 if (callback_registered && length > 0) {
132 // Collect sequence numbers from the default receiver. 126 // Collect sequence numbers from the default receiver.
133 bool request_key_frame = false; 127 bool request_key_frame = false;
134 std::vector<uint16_t> nackList = _receiver.NackList(&request_key_frame); 128 std::vector<uint16_t> nackList = _receiver.NackList(&request_key_frame);
135 int32_t ret = VCM_OK; 129 int32_t ret = VCM_OK;
136 if (request_key_frame) { 130 if (request_key_frame) {
137 ret = RequestKeyFrame(); 131 ret = RequestKeyFrame();
138 if (ret != VCM_OK && returnValue == VCM_OK) {
139 returnValue = ret;
140 }
141 } 132 }
142 if (ret == VCM_OK && !nackList.empty()) { 133 if (ret == VCM_OK && !nackList.empty()) {
143 CriticalSectionScoped cs(process_crit_sect_.get()); 134 CriticalSectionScoped cs(process_crit_sect_.get());
144 if (_packetRequestCallback != NULL) { 135 if (_packetRequestCallback != NULL) {
145 _packetRequestCallback->ResendPackets(&nackList[0], nackList.size()); 136 _packetRequestCallback->ResendPackets(&nackList[0], nackList.size());
146 } 137 }
147 } 138 }
148 } 139 }
149 } 140 }
150
151 return returnValue;
152 } 141 }
153 142
154 int64_t VideoReceiver::TimeUntilNextProcess() { 143 int64_t VideoReceiver::TimeUntilNextProcess() {
155 int64_t timeUntilNextProcess = _receiveStatsTimer.TimeUntilProcess(); 144 int64_t timeUntilNextProcess = _receiveStatsTimer.TimeUntilProcess();
156 if (_receiver.NackMode() != kNoNack) { 145 if (_receiver.NackMode() != kNoNack) {
157 // We need a Process call more often if we are relying on 146 // We need a Process call more often if we are relying on
158 // retransmissions 147 // retransmissions
159 timeUntilNextProcess = 148 timeUntilNextProcess =
160 VCM_MIN(timeUntilNextProcess, _retransmissionTimer.TimeUntilProcess()); 149 VCM_MIN(timeUntilNextProcess, _retransmissionTimer.TimeUntilProcess());
161 } 150 }
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after
538 } 527 }
539 528
540 void VideoReceiver::RegisterPreDecodeImageCallback( 529 void VideoReceiver::RegisterPreDecodeImageCallback(
541 EncodedImageCallback* observer) { 530 EncodedImageCallback* observer) {
542 CriticalSectionScoped cs(_receiveCritSect); 531 CriticalSectionScoped cs(_receiveCritSect);
543 pre_decode_image_callback_ = observer; 532 pre_decode_image_callback_ = observer;
544 } 533 }
545 534
546 } // namespace vcm 535 } // namespace vcm
547 } // namespace webrtc 536 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698