Index: webrtc/test/direct_transport.h |
diff --git a/webrtc/test/direct_transport.h b/webrtc/test/direct_transport.h |
index 0698992d5a871f48b266ae718cf11116af0fd3e2..6601b137c0bc8f51c477879406e9a7657c5be0eb 100644 |
--- a/webrtc/test/direct_transport.h |
+++ b/webrtc/test/direct_transport.h |
@@ -16,9 +16,7 @@ |
#include "webrtc/api/call/transport.h" |
#include "webrtc/call/call.h" |
-#include "webrtc/rtc_base/criticalsection.h" |
-#include "webrtc/rtc_base/event.h" |
-#include "webrtc/rtc_base/platform_thread.h" |
+#include "webrtc/rtc_base/thread_checker.h" |
#include "webrtc/test/fake_network_pipe.h" |
namespace webrtc { |
@@ -28,20 +26,28 @@ class PacketReceiver; |
namespace test { |
+class SingleThreadedTaskQueue; |
+ |
class DirectTransport : public Transport { |
public: |
- DirectTransport(Call* send_call, |
+ DirectTransport(SingleThreadedTaskQueue* task_queue, |
+ Call* send_call, |
const std::map<uint8_t, MediaType>& payload_type_map); |
- DirectTransport(const FakeNetworkPipe::Config& config, |
+ |
+ DirectTransport(SingleThreadedTaskQueue* task_queue, |
+ const FakeNetworkPipe::Config& config, |
Call* send_call, |
const std::map<uint8_t, MediaType>& payload_type_map); |
- DirectTransport(const FakeNetworkPipe::Config& config, |
+ |
+ DirectTransport(SingleThreadedTaskQueue* task_queue, |
+ const FakeNetworkPipe::Config& config, |
Call* send_call, |
std::unique_ptr<Demuxer> demuxer); |
// This deprecated variant always uses MediaType::VIDEO. |
RTC_DEPRECATED explicit DirectTransport(Call* send_call) |
: DirectTransport( |
+ nullptr, // TODO(eladalon): !!! Fix this. |
FakeNetworkPipe::Config(), |
send_call, |
std::unique_ptr<Demuxer>(new ForceDemuxer(MediaType::VIDEO))) {} |
@@ -50,7 +56,6 @@ class DirectTransport : public Transport { |
void SetConfig(const FakeNetworkPipe::Config& config); |
- virtual void StopSending(); |
// TODO(holmer): Look into moving this to the constructor. |
virtual void SetReceiver(PacketReceiver* receiver); |
@@ -77,18 +82,17 @@ class DirectTransport : public Transport { |
RTC_DISALLOW_COPY_AND_ASSIGN(ForceDemuxer); |
}; |
- static bool NetworkProcess(void* transport); |
- bool SendPackets(); |
+ void SendPackets(); |
- rtc::CriticalSection lock_; |
Call* const send_call_; |
- rtc::Event packet_event_; |
- rtc::PlatformThread thread_; |
Clock* const clock_; |
- bool shutting_down_; |
+ SingleThreadedTaskQueue* const task_queue_; |
+ size_t next_task_; // TODO(eladalon): !!! Why can't the type be opaque? |
FakeNetworkPipe fake_network_; |
+ |
+ rtc::ThreadChecker thread_checker_; |
}; |
} // namespace test |
} // namespace webrtc |