| Index: webrtc/video/video_stream_encoder.cc
|
| diff --git a/webrtc/video/video_stream_encoder.cc b/webrtc/video/video_stream_encoder.cc
|
| index 51fb1d43d61de933dc0ec35b7d43ee1379daebbf..7e25df09b42128c737c823c0e6fc31cbdab35217 100644
|
| --- a/webrtc/video/video_stream_encoder.cc
|
| +++ b/webrtc/video/video_stream_encoder.cc
|
| @@ -38,12 +38,6 @@ namespace {
|
|
|
| // Time interval for logging frame counts.
|
| const int64_t kFrameLogIntervalMs = 60000;
|
| -
|
| -// We will never ask for a resolution lower than this.
|
| -// TODO(kthelgason): Lower this limit when better testing
|
| -// on MediaCodec and fallback implementations are in place.
|
| -// See https://bugs.chromium.org/p/webrtc/issues/detail?id=7206
|
| -const int kMinPixelsPerFrame = 320 * 180;
|
| const int kMinFramerateFps = 2;
|
| const int kMaxFramerateFps = 120;
|
|
|
| @@ -233,7 +227,7 @@ class VideoStreamEncoder::VideoSourceProxy {
|
| source_->AddOrUpdateSink(video_stream_encoder_, sink_wants_);
|
| }
|
|
|
| - bool RequestResolutionLowerThan(int pixel_count) {
|
| + bool RequestResolutionLowerThan(int pixel_count, int min_pixels_per_frame) {
|
| // Called on the encoder task queue.
|
| rtc::CritScope lock(&crit_);
|
| if (!source_ || !IsResolutionScalingEnabled(degradation_preference_)) {
|
| @@ -244,7 +238,7 @@ class VideoStreamEncoder::VideoSourceProxy {
|
| // The input video frame size will have a resolution less than or equal to
|
| // |max_pixel_count| depending on how the source can scale the frame size.
|
| const int pixels_wanted = (pixel_count * 3) / 5;
|
| - if (pixels_wanted < kMinPixelsPerFrame ||
|
| + if (pixels_wanted < min_pixels_per_frame ||
|
| pixels_wanted >= sink_wants_.max_pixel_count) {
|
| return false;
|
| }
|
| @@ -990,7 +984,8 @@ void VideoStreamEncoder::AdaptDown(AdaptReason reason) {
|
| case VideoSendStream::DegradationPreference::kMaintainFramerate:
|
| // Scale down resolution.
|
| if (!source_proxy_->RequestResolutionLowerThan(
|
| - adaptation_request.input_pixel_count_)) {
|
| + adaptation_request.input_pixel_count_,
|
| + settings_.encoder->GetScalingSettings().min_pixels_per_frame)) {
|
| return;
|
| }
|
| GetAdaptCounter().IncrementResolution(reason);
|
|
|