Index: webrtc/media/engine/fakewebrtccall.cc |
diff --git a/webrtc/media/engine/fakewebrtccall.cc b/webrtc/media/engine/fakewebrtccall.cc |
index d021ecab3ddc2c4cdc0ea72679e266bc5ad7968b..11a78ffa391994253c91bf0a1bca49cd14332c51 100644 |
--- a/webrtc/media/engine/fakewebrtccall.cc |
+++ b/webrtc/media/engine/fakewebrtccall.cc |
@@ -104,6 +104,7 @@ FakeVideoSendStream::FakeVideoSendStream( |
: sending_(false), |
config_(std::move(config)), |
codec_settings_set_(false), |
+ resolution_scaling_disabled_(false), |
source_(nullptr), |
num_swapped_frames_(0) { |
RTC_DCHECK(config.encoder_settings.encoder != NULL); |
@@ -233,13 +234,22 @@ void FakeVideoSendStream::Stop() { |
} |
void FakeVideoSendStream::SetSource( |
- rtc::VideoSourceInterface<webrtc::VideoFrame>* source) { |
+ rtc::VideoSourceInterface<webrtc::VideoFrame>* source, |
+ bool disable_resolution_scaling) { |
RTC_DCHECK(source != source_); |
if (source_) |
source_->RemoveSink(this); |
source_ = source; |
+ resolution_scaling_disabled_ = disable_resolution_scaling; |
if (source) |
- source->AddOrUpdateSink(this, rtc::VideoSinkWants()); |
+ source->AddOrUpdateSink( |
+ this, disable_resolution_scaling ? rtc::VideoSinkWants() : sink_wants_); |
+} |
+ |
+void FakeVideoSendStream::InjectVideoSinkWants( |
+ const rtc::VideoSinkWants& wants) { |
+ sink_wants_ = wants; |
+ source_->AddOrUpdateSink(this, wants); |
} |
FakeVideoReceiveStream::FakeVideoReceiveStream( |