Index: media/cast/test/simulator.cc |
diff --git a/media/cast/test/simulator.cc b/media/cast/test/simulator.cc |
index 7122c8fd316e4fde867cf05d12c2f8395eb391c5..10b56d15ea70cda6ca896c60df8c7f83977b7ffc 100644 |
--- a/media/cast/test/simulator.cc |
+++ b/media/cast/test/simulator.cc |
@@ -387,12 +387,39 @@ void RunSimulation(const base::FilePath& source_path, |
LoopBackTransport receiver_to_sender(receiver_env); |
LoopBackTransport sender_to_receiver(sender_env); |
+ struct PacketProxy { |
+ PacketProxy() : receiver(NULL) {} |
+ void ReceivePacket(scoped_ptr<Packet> packet) { |
+ if (receiver) |
+ receiver->ReceivePacket(packet.Pass()); |
+ } |
+ CastReceiver* receiver; |
+ }; |
+ |
+ PacketProxy packet_proxy; |
+ |
// Cast receiver. |
+ scoped_ptr<CastTransportSender> transport_receiver( |
+ new CastTransportSenderImpl( |
+ NULL, |
+ &testing_clock, |
+ net::IPEndPoint(), |
+ net::IPEndPoint(), |
+ make_scoped_ptr(new base::DictionaryValue), |
+ base::Bind(&UpdateCastTransportStatus), |
+ base::Bind(&LogTransportEvents, receiver_env), |
+ base::TimeDelta::FromSeconds(1), |
+ task_runner, |
+ base::Bind(&PacketProxy::ReceivePacket, |
+ base::Unretained(&packet_proxy)), |
+ &receiver_to_sender)); |
scoped_ptr<CastReceiver> cast_receiver( |
CastReceiver::Create(receiver_env, |
audio_receiver_config, |
video_receiver_config, |
- &receiver_to_sender)); |
+ transport_receiver.get())); |
+ |
+ packet_proxy.receiver = cast_receiver.get(); |
// Cast sender and transport sender. |
scoped_ptr<CastTransportSender> transport_sender( |
@@ -400,11 +427,13 @@ void RunSimulation(const base::FilePath& source_path, |
NULL, |
&testing_clock, |
net::IPEndPoint(), |
+ net::IPEndPoint(), |
make_scoped_ptr(new base::DictionaryValue), |
base::Bind(&UpdateCastTransportStatus), |
base::Bind(&LogTransportEvents, sender_env), |
base::TimeDelta::FromSeconds(1), |
task_runner, |
+ PacketReceiverCallback(), |
&sender_to_receiver)); |
scoped_ptr<CastSender> cast_sender( |
CastSender::Create(sender_env, transport_sender.get())); |
@@ -429,7 +458,7 @@ void RunSimulation(const base::FilePath& source_path, |
task_runner, &testing_clock); |
sender_to_receiver.Initialize( |
ipp->NewBuffer(128 * 1024).Pass(), |
- cast_receiver->packet_receiver(), task_runner, |
+ transport_receiver->PacketReceiverForTesting(), task_runner, |
&testing_clock); |
} else { |
LOG(INFO) << "No network simulation."; |
@@ -439,7 +468,7 @@ void RunSimulation(const base::FilePath& source_path, |
task_runner, &testing_clock); |
sender_to_receiver.Initialize( |
scoped_ptr<test::PacketPipe>(), |
- cast_receiver->packet_receiver(), task_runner, |
+ transport_receiver->PacketReceiverForTesting(), task_runner, |
&testing_clock); |
} |