| Index: webrtc/test/direct_transport.cc
|
| diff --git a/webrtc/test/direct_transport.cc b/webrtc/test/direct_transport.cc
|
| index 90531eadfaf2ced07fefa87f9baf245496ec662d..370425c5374930f7562e3f23f71277444a43d2e5 100644
|
| --- a/webrtc/test/direct_transport.cc
|
| +++ b/webrtc/test/direct_transport.cc
|
| @@ -15,17 +15,29 @@
|
| namespace webrtc {
|
| namespace test {
|
|
|
| -DirectTransport::DirectTransport(Call* send_call, MediaType media_type)
|
| - : DirectTransport(FakeNetworkPipe::Config(), send_call, media_type) {}
|
| +DirectTransport::DirectTransport(
|
| + Call* send_call,
|
| + const std::map<uint8_t, MediaType>& payload_type_map)
|
| + : DirectTransport(FakeNetworkPipe::Config(), send_call, payload_type_map) {}
|
| +
|
| +DirectTransport::DirectTransport(
|
| + const FakeNetworkPipe::Config& config,
|
| + Call* send_call,
|
| + const std::map<uint8_t, MediaType>& payload_type_map)
|
| + : DirectTransport(
|
| + config,
|
| + send_call,
|
| + std::unique_ptr<Demuxer>(new DemuxerImpl(payload_type_map))) {}
|
|
|
| DirectTransport::DirectTransport(const FakeNetworkPipe::Config& config,
|
| - Call* send_call, MediaType media_type)
|
| + Call* send_call,
|
| + std::unique_ptr<Demuxer> demuxer)
|
| : send_call_(send_call),
|
| packet_event_(false, false),
|
| thread_(NetworkProcess, this, "NetworkProcess"),
|
| clock_(Clock::GetRealTimeClock()),
|
| shutting_down_(false),
|
| - fake_network_(clock_, config, media_type) {
|
| + fake_network_(clock_, config, std::move(demuxer)) {
|
| thread_.Start();
|
| if (send_call_) {
|
| send_call_->SignalChannelNetworkState(MediaType::AUDIO, kNetworkUp);
|
| @@ -76,6 +88,22 @@ int DirectTransport::GetAverageDelayMs() {
|
| return fake_network_.AverageDelay();
|
| }
|
|
|
| +DirectTransport::ForceDemuxer::ForceDemuxer(MediaType media_type)
|
| + : media_type_(media_type) {}
|
| +
|
| +void DirectTransport::ForceDemuxer::SetReceiver(PacketReceiver* receiver) {
|
| + packet_receiver_ = receiver;
|
| +}
|
| +
|
| +void DirectTransport::ForceDemuxer::DeliverPacket(
|
| + const NetworkPacket* packet,
|
| + const PacketTime& packet_time) {
|
| + if (!packet_receiver_)
|
| + return;
|
| + packet_receiver_->DeliverPacket(media_type_, packet->data(),
|
| + packet->data_length(), packet_time);
|
| +}
|
| +
|
| bool DirectTransport::NetworkProcess(void* transport) {
|
| return static_cast<DirectTransport*>(transport)->SendPackets();
|
| }
|
|
|