| 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.
|
|
|