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

Unified Diff: talk/media/base/videoengine_unittest.h

Issue 1327933002: Full impl of NnChannel::SetSendParameters and NnChannel::SetRecvParameters (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase Created 5 years, 3 months 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
« no previous file with comments | « talk/media/base/rtpdataengine_unittest.cc ('k') | talk/media/sctp/sctpdataengine.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: talk/media/base/videoengine_unittest.h
diff --git a/talk/media/base/videoengine_unittest.h b/talk/media/base/videoengine_unittest.h
index 9e6b227011abd36366c1b93289c1d4cdb4cd5300..1e79d7fa61606039dd8dafdd3ebd5878dffbd0d6 100644
--- a/talk/media/base/videoengine_unittest.h
+++ b/talk/media/base/videoengine_unittest.h
@@ -469,7 +469,9 @@ class VideoMediaChannelTest : public testing::Test,
network_interface_.SetDestination(channel_.get());
channel_->SetInterface(&network_interface_);
media_error_ = cricket::VideoMediaChannel::ERROR_NONE;
- channel_->SetRecvCodecs(engine_.codecs());
+ cricket::VideoRecvParameters parameters;
+ parameters.codecs = engine_.codecs();
+ channel_->SetRecvParameters(parameters);
EXPECT_TRUE(channel_->AddSendStream(DefaultSendStreamParams()));
video_capturer_.reset(CreateFakeVideoCapturer());
cricket::VideoFormat format(640, 480,
@@ -530,9 +532,6 @@ class VideoMediaChannelTest : public testing::Test,
return SetOneCodec(cricket::VideoCodec(pt, name, w, h, fr, 0));
}
bool SetOneCodec(const cricket::VideoCodec& codec) {
- std::vector<cricket::VideoCodec> codecs;
- codecs.push_back(codec);
-
cricket::VideoFormat capture_format(codec.width, codec.height,
cricket::VideoFormat::FpsToInterval(codec.framerate),
cricket::FOURCC_I420);
@@ -546,10 +545,14 @@ class VideoMediaChannelTest : public testing::Test,
bool sending = channel_->sending();
bool success = SetSend(false);
- if (success)
- success = channel_->SetSendCodecs(codecs);
- if (success)
+ if (success) {
+ cricket::VideoSendParameters parameters;
+ parameters.codecs.push_back(codec);
+ success = channel_->SetSendParameters(parameters);
+ }
+ if (success) {
success = SetSend(sending);
+ }
return success;
}
bool SetSend(bool send) {
@@ -860,9 +863,10 @@ class VideoMediaChannelTest : public testing::Test,
void GetStatsMultipleRecvStreams() {
cricket::FakeVideoRenderer renderer1, renderer2;
EXPECT_TRUE(SetOneCodec(DefaultCodec()));
- cricket::VideoOptions vmo;
- vmo.conference_mode.Set(true);
- EXPECT_TRUE(channel_->SetOptions(vmo));
+ cricket::VideoSendParameters parameters;
+ parameters.codecs.push_back(DefaultCodec());
+ parameters.options.conference_mode.Set(true);
+ EXPECT_TRUE(channel_->SetSendParameters(parameters));
EXPECT_TRUE(SetSend(true));
EXPECT_TRUE(channel_->AddRecvStream(
cricket::StreamParams::CreateLegacy(1)));
@@ -908,9 +912,10 @@ class VideoMediaChannelTest : public testing::Test,
// Normal setup; note that we set the SSRC explicitly to ensure that
// it will come first in the senders map.
EXPECT_TRUE(SetOneCodec(DefaultCodec()));
- cricket::VideoOptions vmo;
- vmo.conference_mode.Set(true);
- EXPECT_TRUE(channel_->SetOptions(vmo));
+ cricket::VideoSendParameters parameters;
+ parameters.codecs.push_back(DefaultCodec());
+ parameters.options.conference_mode.Set(true);
+ EXPECT_TRUE(channel_->SetSendParameters(parameters));
EXPECT_TRUE(channel_->AddRecvStream(
cricket::StreamParams::CreateLegacy(kSsrc)));
EXPECT_TRUE(channel_->SetRenderer(kSsrc, &renderer_));
@@ -975,8 +980,12 @@ class VideoMediaChannelTest : public testing::Test,
// Test that we can set the bandwidth.
void SetSendBandwidth() {
- EXPECT_TRUE(channel_->SetMaxSendBandwidth(-1)); // <= 0 means unlimited.
- EXPECT_TRUE(channel_->SetMaxSendBandwidth(128 * 1024));
+ cricket::VideoSendParameters parameters;
+ parameters.codecs.push_back(DefaultCodec());
+ parameters.max_bandwidth_bps = -1; // <= 0 means unlimited.
+ EXPECT_TRUE(channel_->SetSendParameters(parameters));
+ parameters.max_bandwidth_bps = 128 * 1024;
+ EXPECT_TRUE(channel_->SetSendParameters(parameters));
}
// Test that we can set the SSRC for the default send source.
void SetSendSsrc() {
@@ -1082,33 +1091,13 @@ class VideoMediaChannelTest : public testing::Test,
EXPECT_EQ(789u, ssrc);
}
- // Tests adding streams already exists returns false.
- void AddRecvStreamsAlreadyExist() {
- cricket::VideoOptions vmo;
- vmo.conference_mode.Set(true);
- EXPECT_TRUE(channel_->SetOptions(vmo));
-
- EXPECT_FALSE(channel_->AddRecvStream(
- cricket::StreamParams::CreateLegacy(0)));
-
- EXPECT_TRUE(channel_->AddRecvStream(
- cricket::StreamParams::CreateLegacy(1)));
- EXPECT_FALSE(channel_->AddRecvStream(
- cricket::StreamParams::CreateLegacy(1)));
-
- EXPECT_TRUE(channel_->RemoveRecvStream(1));
- EXPECT_FALSE(channel_->AddRecvStream(
- cricket::StreamParams::CreateLegacy(0)));
- EXPECT_TRUE(channel_->AddRecvStream(
- cricket::StreamParams::CreateLegacy(1)));
- }
-
// Tests setting up and configuring multiple incoming streams.
void AddRemoveRecvStreams() {
cricket::FakeVideoRenderer renderer1, renderer2;
- cricket::VideoOptions vmo;
- vmo.conference_mode.Set(true);
- EXPECT_TRUE(channel_->SetOptions(vmo));
+ cricket::VideoSendParameters parameters;
+ parameters.codecs.push_back(DefaultCodec());
+ EXPECT_TRUE(channel_->SetSendParameters(parameters));
+
// Ensure we can't set the renderer on a non-existent stream.
EXPECT_FALSE(channel_->SetRenderer(1, &renderer1));
EXPECT_FALSE(channel_->SetRenderer(2, &renderer2));
@@ -1238,9 +1227,10 @@ class VideoMediaChannelTest : public testing::Test,
void SimulateConference() {
cricket::FakeVideoRenderer renderer1, renderer2;
EXPECT_TRUE(SetDefaultCodec());
- cricket::VideoOptions vmo;
- vmo.conference_mode.Set(true);
- EXPECT_TRUE(channel_->SetOptions(vmo));
+ cricket::VideoSendParameters parameters;
+ parameters.codecs.push_back(DefaultCodec());
+ parameters.options.conference_mode.Set(true);
+ EXPECT_TRUE(channel_->SetSendParameters(parameters));
EXPECT_TRUE(SetSend(true));
EXPECT_TRUE(channel_->SetRender(true));
EXPECT_TRUE(channel_->AddRecvStream(
@@ -1758,10 +1748,10 @@ class VideoMediaChannelTest : public testing::Test,
// Tests that we can send and receive frames with early receive.
void TwoStreamsSendAndUnsignalledRecv(const cricket::VideoCodec& codec) {
- cricket::VideoOptions vmo;
- vmo.conference_mode.Set(true);
- vmo.unsignalled_recv_stream_limit.Set(1);
- EXPECT_TRUE(channel_->SetOptions(vmo));
+ cricket::VideoSendParameters parameters;
+ parameters.options.conference_mode.Set(true);
+ parameters.options.unsignalled_recv_stream_limit.Set(1);
+ EXPECT_TRUE(channel_->SetSendParameters(parameters));
SetUpSecondStreamWithNoRecv();
// Test sending and receiving on first stream.
EXPECT_TRUE(channel_->SetRender(true));
@@ -1788,65 +1778,6 @@ class VideoMediaChannelTest : public testing::Test,
EXPECT_EQ_WAIT(1, renderer2_.num_rendered_frames(), kTimeout);
}
- // Tests that we cannot receive key frames with unsignalled recv disabled.
- void TwoStreamsSendAndFailUnsignalledRecv(const cricket::VideoCodec& codec) {
- cricket::VideoOptions vmo;
- vmo.conference_mode.Set(true);
- vmo.unsignalled_recv_stream_limit.Set(0);
- EXPECT_TRUE(channel_->SetOptions(vmo));
- SetUpSecondStreamWithNoRecv();
- // Test sending and receiving on first stream.
- EXPECT_TRUE(channel_->SetRender(true));
- Send(codec);
- EXPECT_EQ_WAIT(2, NumRtpPackets(), kTimeout);
- rtc::Thread::Current()->ProcessMessages(100);
- EXPECT_EQ_WAIT(1, renderer_.num_rendered_frames(), kTimeout);
- EXPECT_EQ_WAIT(0, renderer2_.num_rendered_frames(), kTimeout);
- // Give a chance for the decoder to process before adding the receiver.
- rtc::Thread::Current()->ProcessMessages(10);
- // Test sending and receiving on second stream.
- EXPECT_TRUE(channel_->AddRecvStream(
- cricket::StreamParams::CreateLegacy(kSsrc + 2)));
- EXPECT_TRUE(channel_->SetRenderer(kSsrc + 2, &renderer2_));
- SendFrame();
- EXPECT_TRUE_WAIT(renderer_.num_rendered_frames() >= 1, kTimeout);
- EXPECT_EQ_WAIT(4, NumRtpPackets(), kTimeout);
- // We dont expect any frames here, because the key frame would have been
- // lost in the earlier packet. This is the case we want to solve with early
- // receive.
- EXPECT_EQ(0, renderer2_.num_rendered_frames());
- }
-
- // Tests that we drop key frames when conference mode is disabled and we
- // receive rtp packets on unsignalled streams.
- void TwoStreamsSendAndFailUnsignalledRecvInOneToOne(
- const cricket::VideoCodec& codec) {
- cricket::VideoOptions vmo;
- vmo.conference_mode.Set(false);
- vmo.unsignalled_recv_stream_limit.Set(1);
- EXPECT_TRUE(channel_->SetOptions(vmo));
- SetUpSecondStreamWithNoRecv();
- // Test sending and receiving on first stream.
- EXPECT_TRUE(channel_->SetRender(true));
- Send(codec);
- EXPECT_EQ_WAIT(2, NumRtpPackets(), kTimeout);
- // In one-to-one mode, we deliver frames to the default channel if there
- // is no registered recv channel for the ssrc.
- EXPECT_TRUE_WAIT(renderer_.num_rendered_frames() >= 1, kTimeout);
- // Give a chance for the decoder to process before adding the receiver.
- rtc::Thread::Current()->ProcessMessages(100);
- // Test sending and receiving on second stream.
- EXPECT_TRUE(channel_->AddRecvStream(
- cricket::StreamParams::CreateLegacy(kSsrc + 2)));
- EXPECT_TRUE(channel_->SetRenderer(kSsrc + 2, &renderer2_));
- SendFrame();
- EXPECT_TRUE_WAIT(renderer_.num_rendered_frames() >= 1, kTimeout);
- EXPECT_EQ_WAIT(4, NumRtpPackets(), kTimeout);
- // We dont expect any frames here, because the key frame would have been
- // delivered to default channel.
- EXPECT_EQ(0, renderer2_.num_rendered_frames());
- }
-
// Tests that we drop key frames when conference mode is enabled and we
// receive rtp packets on unsignalled streams. Removal of a unsignalled recv
// stream is successful.
« no previous file with comments | « talk/media/base/rtpdataengine_unittest.cc ('k') | talk/media/sctp/sctpdataengine.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698