Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(529)

Unified Diff: webrtc/media/engine/fakewebrtccall.cc

Issue 2511703002: Wire up FlexFEC in VideoEngine2. (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/media/engine/fakewebrtccall.cc
diff --git a/webrtc/media/engine/fakewebrtccall.cc b/webrtc/media/engine/fakewebrtccall.cc
index d2aa7bc1b4e2d3d994627a073d5acb26c115d15c..5e763a9a1fd25bf1bb287415b469212bc864379c 100644
--- a/webrtc/media/engine/fakewebrtccall.cc
+++ b/webrtc/media/engine/fakewebrtccall.cc
@@ -294,6 +294,28 @@ void FakeVideoReceiveStream::EnableEncodedFrameRecording(rtc::PlatformFile file,
rtc::ClosePlatformFile(file);
}
+FakeFlexfecReceiveStream::FakeFlexfecReceiveStream(
+ webrtc::FlexfecReceiveStream::Config config)
magjed_webrtc 2016/11/17 13:37:19 I think this should be: FakeFlexfecReceiveStream(c
brandtr 2016/11/17 17:28:57 Yes, this was sloppy. Changed to const ref ctor!
+ : config_(std::move(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),
@@ -346,6 +368,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:
@@ -449,13 +476,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_;
stefan-webrtc 2016/11/17 12:48:59 num_created_flexfec_receive_streams_....
brandtr 2016/11/17 13:23:36 Don't think so, this variable is shared between vi
+ 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() {

Powered by Google App Engine
This is Rietveld 408576698