| 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);
|
| }
|
|
|
|
|