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 346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
357 } | 357 } |
358 return VCM_OK; | 358 return VCM_OK; |
359 } | 359 } |
360 | 360 |
361 int32_t VideoSender::EnableFrameDropper(bool enable) { | 361 int32_t VideoSender::EnableFrameDropper(bool enable) { |
362 rtc::CritScope lock(&encoder_crit_); | 362 rtc::CritScope lock(&encoder_crit_); |
363 frame_dropper_enabled_ = enable; | 363 frame_dropper_enabled_ = enable; |
364 _mediaOpt.EnableFrameDropper(enable); | 364 _mediaOpt.EnableFrameDropper(enable); |
365 return VCM_OK; | 365 return VCM_OK; |
366 } | 366 } |
367 | |
368 void VideoSender::SuspendBelowMinBitrate() { | |
369 RTC_DCHECK(main_thread_.CalledOnValidThread()); | |
370 int threshold_bps; | |
371 if (current_codec_.numberOfSimulcastStreams == 0) { | |
372 threshold_bps = current_codec_.minBitrate * 1000; | |
373 } else { | |
374 threshold_bps = current_codec_.simulcastStream[0].minBitrate * 1000; | |
375 } | |
376 // Set the hysteresis window to be at 10% of the threshold, but at least | |
377 // 10 kbps. | |
378 int window_bps = std::max(threshold_bps / 10, 10000); | |
379 _mediaOpt.SuspendBelowMinBitrate(threshold_bps, window_bps); | |
380 } | |
381 | |
382 bool VideoSender::VideoSuspended() const { | |
383 return _mediaOpt.IsVideoSuspended(); | |
384 } | |
385 } // namespace vcm | 367 } // namespace vcm |
386 } // namespace webrtc | 368 } // namespace webrtc |
OLD | NEW |