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

Unified Diff: webrtc/test/direct_transport.cc

Issue 2794243002: Making FakeNetworkPipe demux audio and video packets. (Closed)
Patch Set: fixing android 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 side-by-side diff with in-line comments
Download patch
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();
}

Powered by Google App Engine
This is Rietveld 408576698