OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Simulate end to end streaming. | 5 // Simulate end to end streaming. |
6 // | 6 // |
7 // Input: | 7 // Input: |
8 // --source= | 8 // --source= |
9 // WebM used as the source of video and audio frames. | 9 // WebM used as the source of video and audio frames. |
10 // --output= | 10 // --output= |
(...skipping 25 matching lines...) Expand all Loading... |
36 #include "media/cast/cast_config.h" | 36 #include "media/cast/cast_config.h" |
37 #include "media/cast/cast_environment.h" | 37 #include "media/cast/cast_environment.h" |
38 #include "media/cast/cast_receiver.h" | 38 #include "media/cast/cast_receiver.h" |
39 #include "media/cast/cast_sender.h" | 39 #include "media/cast/cast_sender.h" |
40 #include "media/cast/logging/encoding_event_subscriber.h" | 40 #include "media/cast/logging/encoding_event_subscriber.h" |
41 #include "media/cast/logging/log_serializer.h" | 41 #include "media/cast/logging/log_serializer.h" |
42 #include "media/cast/logging/logging_defines.h" | 42 #include "media/cast/logging/logging_defines.h" |
43 #include "media/cast/logging/proto/raw_events.pb.h" | 43 #include "media/cast/logging/proto/raw_events.pb.h" |
44 #include "media/cast/logging/raw_event_subscriber_bundle.h" | 44 #include "media/cast/logging/raw_event_subscriber_bundle.h" |
45 #include "media/cast/logging/simple_event_subscriber.h" | 45 #include "media/cast/logging/simple_event_subscriber.h" |
| 46 #include "media/cast/net/cast_transport_config.h" |
| 47 #include "media/cast/net/cast_transport_defines.h" |
| 48 #include "media/cast/net/cast_transport_sender.h" |
| 49 #include "media/cast/net/cast_transport_sender_impl.h" |
46 #include "media/cast/test/fake_media_source.h" | 50 #include "media/cast/test/fake_media_source.h" |
47 #include "media/cast/test/fake_single_thread_task_runner.h" | 51 #include "media/cast/test/fake_single_thread_task_runner.h" |
48 #include "media/cast/test/loopback_transport.h" | 52 #include "media/cast/test/loopback_transport.h" |
49 #include "media/cast/test/proto/network_simulation_model.pb.h" | 53 #include "media/cast/test/proto/network_simulation_model.pb.h" |
50 #include "media/cast/test/skewed_tick_clock.h" | 54 #include "media/cast/test/skewed_tick_clock.h" |
51 #include "media/cast/test/utility/audio_utility.h" | 55 #include "media/cast/test/utility/audio_utility.h" |
52 #include "media/cast/test/utility/default_config.h" | 56 #include "media/cast/test/utility/default_config.h" |
53 #include "media/cast/test/utility/test_util.h" | 57 #include "media/cast/test/utility/test_util.h" |
54 #include "media/cast/test/utility/udp_proxy.h" | 58 #include "media/cast/test/utility/udp_proxy.h" |
55 #include "media/cast/test/utility/video_utility.h" | 59 #include "media/cast/test/utility/video_utility.h" |
56 #include "media/cast/transport/cast_transport_config.h" | |
57 #include "media/cast/transport/cast_transport_defines.h" | |
58 #include "media/cast/transport/cast_transport_sender.h" | |
59 #include "media/cast/transport/cast_transport_sender_impl.h" | |
60 | 60 |
61 using media::cast::proto::IPPModel; | 61 using media::cast::proto::IPPModel; |
62 using media::cast::proto::NetworkSimulationModel; | 62 using media::cast::proto::NetworkSimulationModel; |
63 using media::cast::proto::NetworkSimulationModelType; | 63 using media::cast::proto::NetworkSimulationModelType; |
64 | 64 |
65 namespace media { | 65 namespace media { |
66 namespace cast { | 66 namespace cast { |
67 namespace { | 67 namespace { |
68 const int kTargetDelay = 300; | 68 const int kTargetDelay = 300; |
69 const char kSourcePath[] = "source"; | 69 const char kSourcePath[] = "source"; |
70 const char kModelPath[] = "model"; | 70 const char kModelPath[] = "model"; |
71 const char kOutputPath[] = "output"; | 71 const char kOutputPath[] = "output"; |
72 const char kSimulationId[] = "sim-id"; | 72 const char kSimulationId[] = "sim-id"; |
73 const char kLibDir[] = "lib-dir"; | 73 const char kLibDir[] = "lib-dir"; |
74 | 74 |
75 void UpdateCastTransportStatus(transport::CastTransportStatus status) { | 75 void UpdateCastTransportStatus(CastTransportStatus status) { |
76 LOG(INFO) << "Cast transport status: " << status; | 76 LOG(INFO) << "Cast transport status: " << status; |
77 } | 77 } |
78 | 78 |
79 void AudioInitializationStatus(CastInitializationStatus status) { | 79 void AudioInitializationStatus(CastInitializationStatus status) { |
80 LOG(INFO) << "Audio status: " << status; | 80 LOG(INFO) << "Audio status: " << status; |
81 } | 81 } |
82 | 82 |
83 void VideoInitializationStatus(CastInitializationStatus status) { | 83 void VideoInitializationStatus(CastInitializationStatus status) { |
84 LOG(INFO) << "Video status: " << status; | 84 LOG(INFO) << "Video status: " << status; |
85 } | 85 } |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
229 LoopBackTransport sender_to_receiver(sender_env); | 229 LoopBackTransport sender_to_receiver(sender_env); |
230 | 230 |
231 // Cast receiver. | 231 // Cast receiver. |
232 scoped_ptr<CastReceiver> cast_receiver( | 232 scoped_ptr<CastReceiver> cast_receiver( |
233 CastReceiver::Create(receiver_env, | 233 CastReceiver::Create(receiver_env, |
234 audio_receiver_config, | 234 audio_receiver_config, |
235 video_receiver_config, | 235 video_receiver_config, |
236 &receiver_to_sender)); | 236 &receiver_to_sender)); |
237 | 237 |
238 // Cast sender and transport sender. | 238 // Cast sender and transport sender. |
239 scoped_ptr<transport::CastTransportSender> transport_sender( | 239 scoped_ptr<CastTransportSender> transport_sender( |
240 new transport::CastTransportSenderImpl( | 240 new CastTransportSenderImpl( |
241 NULL, | 241 NULL, |
242 &testing_clock, | 242 &testing_clock, |
243 net::IPEndPoint(), | 243 net::IPEndPoint(), |
244 base::Bind(&UpdateCastTransportStatus), | 244 base::Bind(&UpdateCastTransportStatus), |
245 base::Bind(&LogTransportEvents, sender_env), | 245 base::Bind(&LogTransportEvents, sender_env), |
246 base::TimeDelta::FromSeconds(1), | 246 base::TimeDelta::FromSeconds(1), |
247 task_runner, | 247 task_runner, |
248 &sender_to_receiver)); | 248 &sender_to_receiver)); |
249 scoped_ptr<CastSender> cast_sender( | 249 scoped_ptr<CastSender> cast_sender( |
250 CastSender::Create(sender_env, transport_sender.get())); | 250 CastSender::Create(sender_env, transport_sender.get())); |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
436 values.SetBoolean("sim", true); | 436 values.SetBoolean("sim", true); |
437 values.SetString("sim-id", sim_id); | 437 values.SetString("sim-id", sim_id); |
438 | 438 |
439 std::string extra_data; | 439 std::string extra_data; |
440 base::JSONWriter::Write(&values, &extra_data); | 440 base::JSONWriter::Write(&values, &extra_data); |
441 | 441 |
442 // Run. | 442 // Run. |
443 media::cast::RunSimulation(source_path, output_path, extra_data, model); | 443 media::cast::RunSimulation(source_path, output_path, extra_data, model); |
444 return 0; | 444 return 0; |
445 } | 445 } |
OLD | NEW |