diff options
Diffstat (limited to 'webrtc/test/direct_transport.cc')
-rw-r--r-- | webrtc/test/direct_transport.cc | 41 |
1 files changed, 14 insertions, 27 deletions
diff --git a/webrtc/test/direct_transport.cc b/webrtc/test/direct_transport.cc index 6dcba81c88..591e154b14 100644 --- a/webrtc/test/direct_transport.cc +++ b/webrtc/test/direct_transport.cc @@ -18,26 +18,17 @@ namespace webrtc { namespace test { DirectTransport::DirectTransport(Call* send_call) - : send_call_(send_call), - packet_event_(EventWrapper::Create()), - thread_( - ThreadWrapper::CreateThread(NetworkProcess, this, "NetworkProcess")), - clock_(Clock::GetRealTimeClock()), - shutting_down_(false), - fake_network_(FakeNetworkPipe::Config()) { - EXPECT_TRUE(thread_->Start()); -} + : DirectTransport(FakeNetworkPipe::Config(), send_call) {} DirectTransport::DirectTransport(const FakeNetworkPipe::Config& config, Call* send_call) : send_call_(send_call), - packet_event_(EventWrapper::Create()), - thread_( - ThreadWrapper::CreateThread(NetworkProcess, this, "NetworkProcess")), + packet_event_(false, false), + thread_(NetworkProcess, this, "NetworkProcess"), clock_(Clock::GetRealTimeClock()), shutting_down_(false), - fake_network_(config) { - EXPECT_TRUE(thread_->Start()); + fake_network_(clock_, config) { + thread_.Start(); } DirectTransport::~DirectTransport() { StopSending(); } @@ -52,8 +43,8 @@ void DirectTransport::StopSending() { shutting_down_ = true; } - packet_event_->Set(); - EXPECT_TRUE(thread_->Stop()); + packet_event_.Set(); + thread_.Stop(); } void DirectTransport::SetReceiver(PacketReceiver* receiver) { @@ -69,16 +60,20 @@ bool DirectTransport::SendRtp(const uint8_t* data, send_call_->OnSentPacket(sent_packet); } fake_network_.SendPacket(data, length); - packet_event_->Set(); + packet_event_.Set(); return true; } bool DirectTransport::SendRtcp(const uint8_t* data, size_t length) { fake_network_.SendPacket(data, length); - packet_event_->Set(); + packet_event_.Set(); return true; } +int DirectTransport::GetAverageDelayMs() { + return fake_network_.AverageDelay(); +} + bool DirectTransport::NetworkProcess(void* transport) { return static_cast<DirectTransport*>(transport)->SendPackets(); } @@ -87,15 +82,7 @@ bool DirectTransport::SendPackets() { fake_network_.Process(); int64_t wait_time_ms = fake_network_.TimeUntilNextProcess(); if (wait_time_ms > 0) { - switch (packet_event_->Wait(static_cast<unsigned long>(wait_time_ms))) { - case kEventSignaled: - break; - case kEventTimeout: - break; - case kEventError: - // TODO(pbos): Log a warning here? - return true; - } + packet_event_.Wait(static_cast<int>(wait_time_ms)); } rtc::CritScope crit(&lock_); return shutting_down_ ? false : true; |