Chromium Code Reviews| 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) { |
|
magjed_webrtc
2016/11/18 14:28:00
I would like this to be a const-ref as well (and/o
brandtr
2016/11/21 08:52:03
Can't do it here alone, because FakeCall is a webr
|
| - // 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() { |