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

Side by Side Diff: media/cast/test/simulator.cc

Issue 1544313002: Convert Pass()→std::move() in //media (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 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 unified diff | Download patch
« no previous file with comments | « media/cast/test/sender.cc ('k') | media/cast/test/utility/audio_utility.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 18 matching lines...) Expand all
29 // File path to write YUV decoded frames in YUV4MPEG2 format. 29 // File path to write YUV decoded frames in YUV4MPEG2 format.
30 // --no-simulation 30 // --no-simulation
31 // Do not run network simulation. 31 // Do not run network simulation.
32 // 32 //
33 // Output: 33 // Output:
34 // - Raw event log of the simulation session tagged with the unique test ID, 34 // - Raw event log of the simulation session tagged with the unique test ID,
35 // written out to the specified file path. 35 // written out to the specified file path.
36 36
37 #include <stddef.h> 37 #include <stddef.h>
38 #include <stdint.h> 38 #include <stdint.h>
39 #include <utility>
39 40
40 #include "base/at_exit.h" 41 #include "base/at_exit.h"
41 #include "base/base_paths.h" 42 #include "base/base_paths.h"
42 #include "base/command_line.h" 43 #include "base/command_line.h"
43 #include "base/files/file_path.h" 44 #include "base/files/file_path.h"
44 #include "base/files/file_util.h" 45 #include "base/files/file_util.h"
45 #include "base/files/memory_mapped_file.h" 46 #include "base/files/memory_mapped_file.h"
46 #include "base/files/scoped_file.h" 47 #include "base/files/scoped_file.h"
47 #include "base/json/json_writer.h" 48 #include "base/json/json_writer.h"
48 #include "base/logging.h" 49 #include "base/logging.h"
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 // Fake clock. Make sure start time is non zero. 295 // Fake clock. Make sure start time is non zero.
295 base::SimpleTestTickClock testing_clock; 296 base::SimpleTestTickClock testing_clock;
296 testing_clock.Advance(base::TimeDelta::FromSeconds(1)); 297 testing_clock.Advance(base::TimeDelta::FromSeconds(1));
297 298
298 // Task runner. 299 // Task runner.
299 scoped_refptr<test::FakeSingleThreadTaskRunner> task_runner = 300 scoped_refptr<test::FakeSingleThreadTaskRunner> task_runner =
300 new test::FakeSingleThreadTaskRunner(&testing_clock); 301 new test::FakeSingleThreadTaskRunner(&testing_clock);
301 base::ThreadTaskRunnerHandle task_runner_handle(task_runner); 302 base::ThreadTaskRunnerHandle task_runner_handle(task_runner);
302 303
303 // CastEnvironments. 304 // CastEnvironments.
304 scoped_refptr<CastEnvironment> sender_env = 305 scoped_refptr<CastEnvironment> sender_env = new CastEnvironment(
305 new CastEnvironment( 306 scoped_ptr<base::TickClock>(new test::SkewedTickClock(&testing_clock)),
306 scoped_ptr<base::TickClock>( 307 task_runner, task_runner, task_runner);
307 new test::SkewedTickClock(&testing_clock)).Pass(), 308 scoped_refptr<CastEnvironment> receiver_env = new CastEnvironment(
308 task_runner, 309 scoped_ptr<base::TickClock>(new test::SkewedTickClock(&testing_clock)),
309 task_runner, 310 task_runner, task_runner, task_runner);
310 task_runner);
311 scoped_refptr<CastEnvironment> receiver_env =
312 new CastEnvironment(
313 scoped_ptr<base::TickClock>(
314 new test::SkewedTickClock(&testing_clock)).Pass(),
315 task_runner,
316 task_runner,
317 task_runner);
318 311
319 // Event subscriber. Store at most 1 hour of events. 312 // Event subscriber. Store at most 1 hour of events.
320 EncodingEventSubscriber audio_event_subscriber(AUDIO_EVENT, 313 EncodingEventSubscriber audio_event_subscriber(AUDIO_EVENT,
321 100 * 60 * 60); 314 100 * 60 * 60);
322 EncodingEventSubscriber video_event_subscriber(VIDEO_EVENT, 315 EncodingEventSubscriber video_event_subscriber(VIDEO_EVENT,
323 30 * 60 * 60); 316 30 * 60 * 60);
324 sender_env->logger()->Subscribe(&audio_event_subscriber); 317 sender_env->logger()->Subscribe(&audio_event_subscriber);
325 sender_env->logger()->Subscribe(&video_event_subscriber); 318 sender_env->logger()->Subscribe(&video_event_subscriber);
326 319
327 // Audio sender config. 320 // Audio sender config.
(...skipping 25 matching lines...) Expand all
353 video_sender_config.max_playout_delay.InMilliseconds(); 346 video_sender_config.max_playout_delay.InMilliseconds();
354 347
355 // Loopback transport. 348 // Loopback transport.
356 LoopBackTransport receiver_to_sender(receiver_env); 349 LoopBackTransport receiver_to_sender(receiver_env);
357 LoopBackTransport sender_to_receiver(sender_env); 350 LoopBackTransport sender_to_receiver(sender_env);
358 351
359 struct PacketProxy { 352 struct PacketProxy {
360 PacketProxy() : receiver(NULL) {} 353 PacketProxy() : receiver(NULL) {}
361 void ReceivePacket(scoped_ptr<Packet> packet) { 354 void ReceivePacket(scoped_ptr<Packet> packet) {
362 if (receiver) 355 if (receiver)
363 receiver->ReceivePacket(packet.Pass()); 356 receiver->ReceivePacket(std::move(packet));
364 } 357 }
365 CastReceiver* receiver; 358 CastReceiver* receiver;
366 }; 359 };
367 360
368 PacketProxy packet_proxy; 361 PacketProxy packet_proxy;
369 362
370 // Cast receiver. 363 // Cast receiver.
371 scoped_ptr<CastTransportSender> transport_receiver( 364 scoped_ptr<CastTransportSender> transport_receiver(
372 new CastTransportSenderImpl( 365 new CastTransportSenderImpl(
373 nullptr, &testing_clock, net::IPEndPoint(), net::IPEndPoint(), 366 nullptr, &testing_clock, net::IPEndPoint(), net::IPEndPoint(),
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 if (use_network_simulation) { 399 if (use_network_simulation) {
407 LOG(INFO) << "Running Poisson based network simulation."; 400 LOG(INFO) << "Running Poisson based network simulation.";
408 const IPPModel& ipp_model = model.ipp(); 401 const IPPModel& ipp_model = model.ipp();
409 std::vector<double> average_rates(ipp_model.average_rate_size()); 402 std::vector<double> average_rates(ipp_model.average_rate_size());
410 std::copy(ipp_model.average_rate().begin(), 403 std::copy(ipp_model.average_rate().begin(),
411 ipp_model.average_rate().end(), 404 ipp_model.average_rate().end(),
412 average_rates.begin()); 405 average_rates.begin());
413 ipp.reset(new test::InterruptedPoissonProcess( 406 ipp.reset(new test::InterruptedPoissonProcess(
414 average_rates, 407 average_rates,
415 ipp_model.coef_burstiness(), ipp_model.coef_variance(), 0)); 408 ipp_model.coef_burstiness(), ipp_model.coef_variance(), 0));
416 receiver_to_sender.Initialize( 409 receiver_to_sender.Initialize(ipp->NewBuffer(128 * 1024),
417 ipp->NewBuffer(128 * 1024).Pass(), 410 transport_sender->PacketReceiverForTesting(),
418 transport_sender->PacketReceiverForTesting(), 411 task_runner, &testing_clock);
419 task_runner, &testing_clock);
420 sender_to_receiver.Initialize( 412 sender_to_receiver.Initialize(
421 ipp->NewBuffer(128 * 1024).Pass(), 413 ipp->NewBuffer(128 * 1024),
422 transport_receiver->PacketReceiverForTesting(), task_runner, 414 transport_receiver->PacketReceiverForTesting(), task_runner,
423 &testing_clock); 415 &testing_clock);
424 } else { 416 } else {
425 LOG(INFO) << "No network simulation."; 417 LOG(INFO) << "No network simulation.";
426 receiver_to_sender.Initialize( 418 receiver_to_sender.Initialize(
427 scoped_ptr<test::PacketPipe>(), 419 scoped_ptr<test::PacketPipe>(),
428 transport_sender->PacketReceiverForTesting(), 420 transport_sender->PacketReceiverForTesting(),
429 task_runner, &testing_clock); 421 task_runner, &testing_clock);
430 sender_to_receiver.Initialize( 422 sender_to_receiver.Initialize(
431 scoped_ptr<test::PacketPipe>(), 423 scoped_ptr<test::PacketPipe>(),
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after
726 values.SetString("sim-id", sim_id); 718 values.SetString("sim-id", sim_id);
727 719
728 std::string extra_data; 720 std::string extra_data;
729 base::JSONWriter::Write(values, &extra_data); 721 base::JSONWriter::Write(values, &extra_data);
730 722
731 // Run. 723 // Run.
732 media::cast::RunSimulation(source_path, log_output_path, metrics_output_path, 724 media::cast::RunSimulation(source_path, log_output_path, metrics_output_path,
733 yuv_output_path, extra_data, model); 725 yuv_output_path, extra_data, model);
734 return 0; 726 return 0;
735 } 727 }
OLDNEW
« no previous file with comments | « media/cast/test/sender.cc ('k') | media/cast/test/utility/audio_utility.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698