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

Side by Side Diff: webrtc/pc/rtptransport_unittest.cc

Issue 2812243005: Move ready to send logic from BaseChannel to RtpTransport. (Closed)
Patch Set: Move Connect, Disconnect, and more ready to send logic to RtpTransport. Update tests. Introduce rtc… Created 3 years, 8 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 unified diff | Download patch
« webrtc/pc/rtptransport.cc ('K') | « webrtc/pc/rtptransport.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /*
2 * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 #include <string>
12
13 #include "webrtc/base/gunit.h"
14 #include "webrtc/p2p/base/fakepackettransport.h"
15 #include "webrtc/pc/rtptransport.h"
16
17 namespace webrtc {
18
19 class RtpTransportTest : public testing::Test {};
20
21 TEST_F(RtpTransportTest, SetRtcpParametersCantDisableRtcpMux) {
22 RtpTransport transport(false);
Taylor Brandstetter 2017/04/19 05:56:33 nit: Would be nice to have a way to know what the
Zach Stein 2017/04/20 19:59:11 Done.
23 RtcpParameters params;
24 transport.SetRtcpParameters(params);
25 params.mux = false;
26 EXPECT_FALSE(transport.SetRtcpParameters(params).ok());
27 }
28
29 TEST_F(RtpTransportTest, SetRtcpParametersEmptyCnameUsesExisting) {
30 static const char kName[] = "name";
31 RtpTransport transport(false);
32 RtcpParameters params_with_name;
33 params_with_name.cname = kName;
34 transport.SetRtcpParameters(params_with_name);
35 EXPECT_EQ(transport.GetRtcpParameters().cname, kName);
36
37 RtcpParameters params_without_name;
38 transport.SetRtcpParameters(params_without_name);
39 EXPECT_EQ(transport.GetRtcpParameters().cname, kName);
40 }
41
42 class SignalObserver : public sigslot::has_slots<> {
43 public:
44 void OnReadyToSend(bool ready) { ready_ = ready; }
45 bool ready_ = false;
46 };
47
48 TEST_F(RtpTransportTest, SettingRtcpAndRtpSignalsReady) {
49 RtpTransport transport(false);
50 SignalObserver observer;
Taylor Brandstetter 2017/04/19 05:56:33 nit: SignalObserver could take a pointer to the tr
Zach Stein 2017/04/20 19:59:11 Done.
51 transport.SignalReadyToSend.connect(&observer,
52 &SignalObserver::OnReadyToSend);
53 rtc::FakePacketTransport fake_rtcp("fake_rtcp");
54 fake_rtcp.SetWritable(true);
55 rtc::FakePacketTransport fake_rtp("fake_rtp");
56 fake_rtp.SetWritable(true);
57
58 transport.SetRtcpPacketTransport(&fake_rtcp); // rtcp ready
59 EXPECT_FALSE(observer.ready_);
60 transport.SetRtpPacketTransport(&fake_rtp); // rtp ready
61 EXPECT_TRUE(observer.ready_);
62 }
63
64 TEST_F(RtpTransportTest, SettingRtpAndRtcpSignalsReady) {
65 RtpTransport transport(false);
66 SignalObserver observer;
67 transport.SignalReadyToSend.connect(&observer,
68 &SignalObserver::OnReadyToSend);
69 rtc::FakePacketTransport fake_rtcp("fake_rtcp");
70 fake_rtcp.SetWritable(true);
71 rtc::FakePacketTransport fake_rtp("fake_rtp");
72 fake_rtp.SetWritable(true);
73
74 transport.SetRtpPacketTransport(&fake_rtp); // rtp ready
75 EXPECT_FALSE(observer.ready_);
76 transport.SetRtcpPacketTransport(&fake_rtcp); // rtcp ready
77 EXPECT_TRUE(observer.ready_);
78 }
79
80 TEST_F(RtpTransportTest, SettingRtpWithRtcpMuxEnabledSignalsReady) {
81 RtpTransport transport(true);
82 SignalObserver observer;
83 transport.SignalReadyToSend.connect(&observer,
84 &SignalObserver::OnReadyToSend);
85 rtc::FakePacketTransport fake_rtp("fake_rtp");
86 fake_rtp.SetWritable(true);
87
88 transport.SetRtpPacketTransport(&fake_rtp); // rtp ready
89 EXPECT_TRUE(observer.ready_);
90
91 // TODO(zstein): disabling mux should signal not ready?
Taylor Brandstetter 2017/04/19 05:56:33 Disabling mux when the RTCP transport is unset isn
Zach Stein 2017/04/20 19:59:11 Acknowledged.
92 }
93
94 } // namespace webrtc
OLDNEW
« webrtc/pc/rtptransport.cc ('K') | « webrtc/pc/rtptransport.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698