aboutsummaryrefslogtreecommitdiff
path: root/media
diff options
context:
space:
mode:
authorHenrik Boström <hbos@webrtc.org>2020-06-11 12:07:14 +0200
committerCommit Bot <commit-bot@chromium.org>2020-06-11 12:43:21 +0000
commitf4a9991cce74a37d006438ec0e366313ed33162e (patch)
tree17ca4e4760ef57c4e4254236e3f4ec33106fd1a7 /media
parent08ce986fda2e5423362de04ca97331ff44c6b5bc (diff)
downloadwebrtc-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.cc11
-rw-r--r--media/engine/fake_webrtc_call.h7
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,