diff options
author | Henrik Boström <hbos@webrtc.org> | 2020-06-11 12:07:14 +0200 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-06-11 12:43:21 +0000 |
commit | f4a9991cce74a37d006438ec0e366313ed33162e (patch) | |
tree | 17ca4e4760ef57c4e4254236e3f4ec33106fd1a7 /media | |
parent | 08ce986fda2e5423362de04ca97331ff44c6b5bc (diff) | |
download | webrtc-f4a9991cce74a37d006438ec0e366313ed33162e.tar.gz |
[Adaptation] Adding adaptation resources from Call.
This CL adds AddAdaptationResource to Call and
AddAdaptationResource/GetAdaptationResources method to relevant
VideoSendStream and VideoStreamEncoder interfaces and implementations.
Unittests are added to ensure that resources can be added to the Call
both before and after the creation of a VideoSendStream and that the
resources always gets added to the streams.
In a follow-up CL, we will continue to plumb the resources all the way
to PeerConnectionInterface, and an integration test will then be added
to ensure that injected resources are capable of triggering adaptation.
Bug: webrtc:11525
Change-Id: I499e9c23c3e359df943414d420b2e0ce2e9b2d56
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/177002
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@google.com>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31499}
Diffstat (limited to 'media')
-rw-r--r-- | media/engine/fake_webrtc_call.cc | 11 | ||||
-rw-r--r-- | media/engine/fake_webrtc_call.h | 7 |
2 files changed, 18 insertions, 0 deletions
diff --git a/media/engine/fake_webrtc_call.cc b/media/engine/fake_webrtc_call.cc index 78d4ba41e0..cb62d9fc0a 100644 --- a/media/engine/fake_webrtc_call.cc +++ b/media/engine/fake_webrtc_call.cc @@ -279,6 +279,14 @@ void FakeVideoSendStream::Stop() { sending_ = false; } +void FakeVideoSendStream::AddAdaptationResource( + rtc::scoped_refptr<webrtc::Resource> resource) {} + +std::vector<rtc::scoped_refptr<webrtc::Resource>> +FakeVideoSendStream::GetAdaptationResources() { + return {}; +} + void FakeVideoSendStream::SetSource( rtc::VideoSourceInterface<webrtc::VideoFrame>* source, const webrtc::DegradationPreference& degradation_preference) { @@ -570,6 +578,9 @@ void FakeCall::DestroyFlexfecReceiveStream( } } +void FakeCall::AddAdaptationResource( + rtc::scoped_refptr<webrtc::Resource> resource) {} + webrtc::PacketReceiver* FakeCall::Receiver() { return this; } diff --git a/media/engine/fake_webrtc_call.h b/media/engine/fake_webrtc_call.h index 4404dec5df..97eb49c897 100644 --- a/media/engine/fake_webrtc_call.h +++ b/media/engine/fake_webrtc_call.h @@ -173,6 +173,10 @@ class FakeVideoSendStream final const std::vector<bool> active_layers) override; void Start() override; void Stop() override; + void AddAdaptationResource( + rtc::scoped_refptr<webrtc::Resource> resource) override; + std::vector<rtc::scoped_refptr<webrtc::Resource>> GetAdaptationResources() + override; void SetSource( rtc::VideoSourceInterface<webrtc::VideoFrame>* source, const webrtc::DegradationPreference& degradation_preference) override; @@ -341,6 +345,9 @@ class FakeCall final : public webrtc::Call, public webrtc::PacketReceiver { void DestroyFlexfecReceiveStream( webrtc::FlexfecReceiveStream* receive_stream) override; + void AddAdaptationResource( + rtc::scoped_refptr<webrtc::Resource> resource) override; + webrtc::PacketReceiver* Receiver() override; DeliveryStatus DeliverPacket(webrtc::MediaType media_type, |