Index: webrtc/media/engine/fakewebrtccall.cc |
diff --git a/webrtc/media/engine/fakewebrtccall.cc b/webrtc/media/engine/fakewebrtccall.cc |
index c07a2ebadd1d079e240072e74bf88e3cedd3b796..347d77ccc1a7e901a7451e7dd060acec5b8908e6 100644 |
--- a/webrtc/media/engine/fakewebrtccall.cc |
+++ b/webrtc/media/engine/fakewebrtccall.cc |
@@ -296,6 +296,28 @@ void FakeVideoReceiveStream::EnableEncodedFrameRecording(rtc::PlatformFile file, |
rtc::ClosePlatformFile(file); |
} |
+FakeFlexfecReceiveStream::FakeFlexfecReceiveStream( |
+ const webrtc::FlexfecReceiveStream::Config& config) |
+ : config_(config), receiving_(false) {} |
+ |
+const webrtc::FlexfecReceiveStream::Config& |
+FakeFlexfecReceiveStream::GetConfig() { |
+ return config_; |
+} |
+ |
+void FakeFlexfecReceiveStream::Start() { |
+ receiving_ = true; |
+} |
+ |
+void FakeFlexfecReceiveStream::Stop() { |
+ receiving_ = false; |
+} |
+ |
+// TODO(brandtr): Implement when the stats have been designed. |
+webrtc::FlexfecReceiveStream::Stats FakeFlexfecReceiveStream::GetStats() const { |
+ return webrtc::FlexfecReceiveStream::Stats(); |
+} |
+ |
FakeCall::FakeCall(const webrtc::Call::Config& config) |
: config_(config), |
audio_network_state_(webrtc::kNetworkUp), |
@@ -348,6 +370,11 @@ const FakeAudioReceiveStream* FakeCall::GetAudioReceiveStream(uint32_t ssrc) { |
return nullptr; |
} |
+const std::vector<FakeFlexfecReceiveStream*>& |
+FakeCall::GetFlexfecReceiveStreams() { |
+ return flexfec_receive_streams_; |
+} |
+ |
webrtc::NetworkState FakeCall::GetNetworkState(webrtc::MediaType media) const { |
switch (media) { |
case webrtc::MediaType::AUDIO: |
@@ -451,13 +478,24 @@ void FakeCall::DestroyVideoReceiveStream( |
webrtc::FlexfecReceiveStream* FakeCall::CreateFlexfecReceiveStream( |
webrtc::FlexfecReceiveStream::Config config) { |
- // TODO(brandtr): Implement when adding integration with WebRtcVideoEngine2. |
- return nullptr; |
+ flexfec_receive_streams_.push_back( |
+ new FakeFlexfecReceiveStream(std::move(config))); |
+ ++num_created_receive_streams_; |
+ return flexfec_receive_streams_.back(); |
} |
void FakeCall::DestroyFlexfecReceiveStream( |
webrtc::FlexfecReceiveStream* receive_stream) { |
- // TODO(brandtr): Implement when adding integration with WebRtcVideoEngine2. |
+ auto it = std::find(flexfec_receive_streams_.begin(), |
+ flexfec_receive_streams_.end(), |
+ static_cast<FakeFlexfecReceiveStream*>(receive_stream)); |
+ if (it == flexfec_receive_streams_.end()) { |
+ ADD_FAILURE() |
+ << "DestroyFlexfecReceiveStream called with unknown parameter."; |
+ } else { |
+ delete *it; |
+ flexfec_receive_streams_.erase(it); |
+ } |
} |
webrtc::PacketReceiver* FakeCall::Receiver() { |