OLD | NEW |
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 21 matching lines...) Expand all Loading... |
32 : clock_(clock), | 32 : clock_(clock), |
33 _timing(timing), | 33 _timing(timing), |
34 _receiver(_timing, | 34 _receiver(_timing, |
35 clock_, | 35 clock_, |
36 event_factory, | 36 event_factory, |
37 nack_sender, | 37 nack_sender, |
38 keyframe_request_sender), | 38 keyframe_request_sender), |
39 _decodedFrameCallback(_timing, clock_), | 39 _decodedFrameCallback(_timing, clock_), |
40 _frameTypeCallback(nullptr), | 40 _frameTypeCallback(nullptr), |
41 _receiveStatsCallback(nullptr), | 41 _receiveStatsCallback(nullptr), |
42 _decoderTimingCallback(nullptr), | |
43 _packetRequestCallback(nullptr), | 42 _packetRequestCallback(nullptr), |
44 _frameFromFile(), | 43 _frameFromFile(), |
45 _scheduleKeyRequest(false), | 44 _scheduleKeyRequest(false), |
46 drop_frames_until_keyframe_(false), | 45 drop_frames_until_keyframe_(false), |
47 max_nack_list_size_(0), | 46 max_nack_list_size_(0), |
48 _codecDataBase(nullptr), | 47 _codecDataBase(nullptr), |
49 pre_decode_image_callback_(pre_decode_image_callback), | 48 pre_decode_image_callback_(pre_decode_image_callback), |
50 _receiveStatsTimer(1000, clock_), | 49 _receiveStatsTimer(1000, clock_), |
51 _retransmissionTimer(10, clock_), | 50 _retransmissionTimer(10, clock_), |
52 _keyRequestTimer(500, clock_) {} | 51 _keyRequestTimer(500, clock_) {} |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 | 178 |
180 int32_t VideoReceiver::RegisterReceiveStatisticsCallback( | 179 int32_t VideoReceiver::RegisterReceiveStatisticsCallback( |
181 VCMReceiveStatisticsCallback* receiveStats) { | 180 VCMReceiveStatisticsCallback* receiveStats) { |
182 RTC_DCHECK(construction_thread_.CalledOnValidThread()); | 181 RTC_DCHECK(construction_thread_.CalledOnValidThread()); |
183 rtc::CritScope cs(&process_crit_); | 182 rtc::CritScope cs(&process_crit_); |
184 _receiver.RegisterStatsCallback(receiveStats); | 183 _receiver.RegisterStatsCallback(receiveStats); |
185 _receiveStatsCallback = receiveStats; | 184 _receiveStatsCallback = receiveStats; |
186 return VCM_OK; | 185 return VCM_OK; |
187 } | 186 } |
188 | 187 |
189 int32_t VideoReceiver::RegisterDecoderTimingCallback( | |
190 VCMDecoderTimingCallback* decoderTiming) { | |
191 RTC_DCHECK(construction_thread_.CalledOnValidThread()); | |
192 rtc::CritScope cs(&process_crit_); | |
193 _decoderTimingCallback = decoderTiming; | |
194 return VCM_OK; | |
195 } | |
196 | |
197 // Register an externally defined decoder object. | 188 // Register an externally defined decoder object. |
198 void VideoReceiver::RegisterExternalDecoder(VideoDecoder* externalDecoder, | 189 void VideoReceiver::RegisterExternalDecoder(VideoDecoder* externalDecoder, |
199 uint8_t payloadType) { | 190 uint8_t payloadType) { |
200 RTC_DCHECK(construction_thread_.CalledOnValidThread()); | 191 RTC_DCHECK(construction_thread_.CalledOnValidThread()); |
201 // TODO(tommi): This method must be called when the decoder thread is not | 192 // TODO(tommi): This method must be called when the decoder thread is not |
202 // running. Do we need a lock in that case? | 193 // running. Do we need a lock in that case? |
203 rtc::CritScope cs(&receive_crit_); | 194 rtc::CritScope cs(&receive_crit_); |
204 if (externalDecoder == nullptr) { | 195 if (externalDecoder == nullptr) { |
205 RTC_CHECK(_codecDataBase.DeregisterExternalDecoder(payloadType)); | 196 RTC_CHECK(_codecDataBase.DeregisterExternalDecoder(payloadType)); |
206 return; | 197 return; |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
477 _receiver.SetNackSettings(max_nack_list_size, max_packet_age_to_nack, | 468 _receiver.SetNackSettings(max_nack_list_size, max_packet_age_to_nack, |
478 max_incomplete_time_ms); | 469 max_incomplete_time_ms); |
479 } | 470 } |
480 | 471 |
481 int VideoReceiver::SetMinReceiverDelay(int desired_delay_ms) { | 472 int VideoReceiver::SetMinReceiverDelay(int desired_delay_ms) { |
482 return _receiver.SetMinReceiverDelay(desired_delay_ms); | 473 return _receiver.SetMinReceiverDelay(desired_delay_ms); |
483 } | 474 } |
484 | 475 |
485 } // namespace vcm | 476 } // namespace vcm |
486 } // namespace webrtc | 477 } // namespace webrtc |
OLD | NEW |