Index: webrtc/media/base/rtpdataengine_unittest.cc |
diff --git a/webrtc/media/base/rtpdataengine_unittest.cc b/webrtc/media/base/rtpdataengine_unittest.cc |
index b5cfd3255189e6444788247030fe4aefae4bd280..35daee5aeb7110acbe6dc155aa50164214d40028 100644 |
--- a/webrtc/media/base/rtpdataengine_unittest.cc |
+++ b/webrtc/media/base/rtpdataengine_unittest.cc |
@@ -15,28 +15,11 @@ |
#include "webrtc/base/gunit.h" |
#include "webrtc/base/helpers.h" |
#include "webrtc/base/ssladapter.h" |
-#include "webrtc/base/timing.h" |
#include "webrtc/media/base/fakenetworkinterface.h" |
#include "webrtc/media/base/mediaconstants.h" |
#include "webrtc/media/base/rtpdataengine.h" |
#include "webrtc/media/base/rtputils.h" |
-class FakeTiming : public rtc::Timing { |
- public: |
- FakeTiming() : now_(0.0) {} |
- |
- virtual double TimerNow() { |
- return now_; |
- } |
- |
- void set_now(double now) { |
- now_ = now; |
- } |
- |
- private: |
- double now_; |
-}; |
- |
class FakeDataReceiver : public sigslot::has_slots<> { |
public: |
FakeDataReceiver() : has_received_data_(false) {} |
@@ -69,18 +52,16 @@ class RtpDataMediaChannelTest : public testing::Test { |
virtual void SetUp() { |
// Seed needed for each test to satisfy expectations. |
iface_.reset(new cricket::FakeNetworkInterface()); |
- timing_ = new FakeTiming(); |
- dme_.reset(CreateEngine(timing_)); |
+ dme_.reset(CreateEngine()); |
receiver_.reset(new FakeDataReceiver()); |
} |
void SetNow(double now) { |
- timing_->set_now(now); |
+ clock_.SetTimeNanos(now * rtc::kNumNanosecsPerSec); |
} |
- cricket::RtpDataEngine* CreateEngine(FakeTiming* timing) { |
+ cricket::RtpDataEngine* CreateEngine() { |
cricket::RtpDataEngine* dme = new cricket::RtpDataEngine(); |
- dme->SetTiming(timing); |
return dme; |
} |
@@ -143,8 +124,7 @@ class RtpDataMediaChannelTest : public testing::Test { |
private: |
std::unique_ptr<cricket::RtpDataEngine> dme_; |
- // Timing passed into dme_. Owned by dme_; |
- FakeTiming* timing_; |
+ rtc::ScopedFakeClock clock_; |
std::unique_ptr<cricket::FakeNetworkInterface> iface_; |
std::unique_ptr<FakeDataReceiver> receiver_; |
}; |
@@ -290,69 +270,6 @@ TEST_F(RtpDataMediaChannelTest, SendData) { |
EXPECT_EQ(header0.timestamp + 180000, header1.timestamp); |
} |
-TEST_F(RtpDataMediaChannelTest, SendDataMultipleClocks) { |
- // Timings owned by RtpDataEngines. |
- FakeTiming* timing1 = new FakeTiming(); |
- std::unique_ptr<cricket::RtpDataEngine> dme1(CreateEngine(timing1)); |
- std::unique_ptr<cricket::RtpDataMediaChannel> dmc1( |
- CreateChannel(dme1.get())); |
- FakeTiming* timing2 = new FakeTiming(); |
- std::unique_ptr<cricket::RtpDataEngine> dme2(CreateEngine(timing2)); |
- std::unique_ptr<cricket::RtpDataMediaChannel> dmc2( |
- CreateChannel(dme2.get())); |
- |
- ASSERT_TRUE(dmc1->SetSend(true)); |
- ASSERT_TRUE(dmc2->SetSend(true)); |
- |
- cricket::StreamParams stream1; |
- stream1.add_ssrc(41); |
- ASSERT_TRUE(dmc1->AddSendStream(stream1)); |
- cricket::StreamParams stream2; |
- stream2.add_ssrc(42); |
- ASSERT_TRUE(dmc2->AddSendStream(stream2)); |
- |
- cricket::DataCodec codec; |
- codec.id = 103; |
- codec.name = cricket::kGoogleRtpDataCodecName; |
- cricket::DataSendParameters parameters; |
- parameters.codecs.push_back(codec); |
- ASSERT_TRUE(dmc1->SetSendParameters(parameters)); |
- ASSERT_TRUE(dmc2->SetSendParameters(parameters)); |
- |
- cricket::SendDataParams params1; |
- params1.ssrc = 41; |
- cricket::SendDataParams params2; |
- params2.ssrc = 42; |
- |
- unsigned char data[] = "foo"; |
- rtc::CopyOnWriteBuffer payload(data, 3); |
- cricket::SendDataResult result; |
- |
- EXPECT_TRUE(dmc1->SendData(params1, payload, &result)); |
- EXPECT_TRUE(dmc2->SendData(params2, payload, &result)); |
- |
- // Should bump timestamp by 90000 because the clock rate is 90khz. |
- timing1->set_now(1); |
- // Should bump timestamp by 180000 because the clock rate is 90khz. |
- timing2->set_now(2); |
- |
- EXPECT_TRUE(dmc1->SendData(params1, payload, &result)); |
- EXPECT_TRUE(dmc2->SendData(params2, payload, &result)); |
- |
- ASSERT_TRUE(HasSentData(3)); |
- cricket::RtpHeader header1a = GetSentDataHeader(0); |
- cricket::RtpHeader header2a = GetSentDataHeader(1); |
- cricket::RtpHeader header1b = GetSentDataHeader(2); |
- cricket::RtpHeader header2b = GetSentDataHeader(3); |
- |
- EXPECT_EQ(static_cast<uint16_t>(header1a.seq_num + 1), |
- static_cast<uint16_t>(header1b.seq_num)); |
- EXPECT_EQ(header1a.timestamp + 90000, header1b.timestamp); |
- EXPECT_EQ(static_cast<uint16_t>(header2a.seq_num + 1), |
- static_cast<uint16_t>(header2b.seq_num)); |
- EXPECT_EQ(header2a.timestamp + 180000, header2b.timestamp); |
-} |
- |
TEST_F(RtpDataMediaChannelTest, SendDataRate) { |
std::unique_ptr<cricket::RtpDataMediaChannel> dmc(CreateChannel()); |