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

Side by Side Diff: media/audio/win/audio_low_latency_output_win_unittest.cc

Issue 1169923009: Remove remaining use of the deprecated MessageLoopProxy (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix typo. Created 5 years, 6 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/audio/audio_output_device_unittest.cc ('k') | media/base/android/media_codec_player.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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include <windows.h> 5 #include <windows.h>
6 #include <mmsystem.h> 6 #include <mmsystem.h>
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/environment.h" 9 #include "base/environment.h"
10 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 static const char kDeltaTimeMsFileName[] = "delta_times_ms.txt"; 49 static const char kDeltaTimeMsFileName[] = "delta_times_ms.txt";
50 50
51 MATCHER_P(HasValidDelay, value, "") { 51 MATCHER_P(HasValidDelay, value, "") {
52 // It is difficult to come up with a perfect test condition for the delay 52 // It is difficult to come up with a perfect test condition for the delay
53 // estimation. For now, verify that the produced output delay is always 53 // estimation. For now, verify that the produced output delay is always
54 // larger than the selected buffer size. 54 // larger than the selected buffer size.
55 return arg >= value; 55 return arg >= value;
56 } 56 }
57 57
58 // Used to terminate a loop from a different thread than the loop belongs to. 58 // Used to terminate a loop from a different thread than the loop belongs to.
59 // |loop| should be a MessageLoopProxy. 59 // |task_runner| should be a SingleThreadTaskRunner.
60 ACTION_P(QuitLoop, loop) { 60 ACTION_P(QuitLoop, task_runner) {
61 loop->PostTask(FROM_HERE, base::MessageLoop::QuitClosure()); 61 task_runner->PostTask(FROM_HERE, base::MessageLoop::QuitClosure());
62 } 62 }
63 63
64 // This audio source implementation should be used for manual tests only since 64 // This audio source implementation should be used for manual tests only since
65 // it takes about 20 seconds to play out a file. 65 // it takes about 20 seconds to play out a file.
66 class ReadFromFileAudioSource : public AudioOutputStream::AudioSourceCallback { 66 class ReadFromFileAudioSource : public AudioOutputStream::AudioSourceCallback {
67 public: 67 public:
68 explicit ReadFromFileAudioSource(const std::string& name) 68 explicit ReadFromFileAudioSource(const std::string& name)
69 : pos_(0), 69 : pos_(0),
70 previous_call_time_(base::TimeTicks::Now()), 70 previous_call_time_(base::TimeTicks::Now()),
71 text_file_(NULL), 71 text_file_(NULL),
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 AudioOutputStreamWrapper aosw(audio_manager.get()); 374 AudioOutputStreamWrapper aosw(audio_manager.get());
375 AudioOutputStream* aos = aosw.Create(); 375 AudioOutputStream* aos = aosw.Create();
376 EXPECT_TRUE(aos->Open()); 376 EXPECT_TRUE(aos->Open());
377 377
378 // Derive the expected size in bytes of each packet. 378 // Derive the expected size in bytes of each packet.
379 uint32 bytes_per_packet = aosw.channels() * aosw.samples_per_packet() * 379 uint32 bytes_per_packet = aosw.channels() * aosw.samples_per_packet() *
380 (aosw.bits_per_sample() / 8); 380 (aosw.bits_per_sample() / 8);
381 381
382 // Wait for the first callback and verify its parameters. 382 // Wait for the first callback and verify its parameters.
383 EXPECT_CALL(source, OnMoreData(NotNull(), HasValidDelay(bytes_per_packet))) 383 EXPECT_CALL(source, OnMoreData(NotNull(), HasValidDelay(bytes_per_packet)))
384 .WillOnce(DoAll( 384 .WillOnce(DoAll(QuitLoop(loop.task_runner()),
385 QuitLoop(loop.message_loop_proxy()), 385 Return(aosw.samples_per_packet())));
386 Return(aosw.samples_per_packet())));
387 386
388 aos->Start(&source); 387 aos->Start(&source);
389 loop.PostDelayedTask(FROM_HERE, base::MessageLoop::QuitClosure(), 388 loop.PostDelayedTask(FROM_HERE, base::MessageLoop::QuitClosure(),
390 TestTimeouts::action_timeout()); 389 TestTimeouts::action_timeout());
391 loop.Run(); 390 loop.Run();
392 aos->Stop(); 391 aos->Stop();
393 aos->Close(); 392 aos->Close();
394 } 393 }
395 394
396 // This test is intended for manual tests and should only be enabled 395 // This test is intended for manual tests and should only be enabled
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
568 AudioOutputStreamWrapper aosw(audio_manager.get()); 567 AudioOutputStreamWrapper aosw(audio_manager.get());
569 AudioOutputStream* aos = aosw.Create(48000, 160); 568 AudioOutputStream* aos = aosw.Create(48000, 160);
570 EXPECT_TRUE(aos->Open()); 569 EXPECT_TRUE(aos->Open());
571 570
572 // Derive the expected size in bytes of each packet. 571 // Derive the expected size in bytes of each packet.
573 uint32 bytes_per_packet = aosw.channels() * aosw.samples_per_packet() * 572 uint32 bytes_per_packet = aosw.channels() * aosw.samples_per_packet() *
574 (aosw.bits_per_sample() / 8); 573 (aosw.bits_per_sample() / 8);
575 574
576 // Wait for the first callback and verify its parameters. 575 // Wait for the first callback and verify its parameters.
577 EXPECT_CALL(source, OnMoreData(NotNull(), HasValidDelay(bytes_per_packet))) 576 EXPECT_CALL(source, OnMoreData(NotNull(), HasValidDelay(bytes_per_packet)))
578 .WillOnce(DoAll( 577 .WillOnce(DoAll(QuitLoop(loop.task_runner()),
579 QuitLoop(loop.message_loop_proxy()), 578 Return(aosw.samples_per_packet())))
580 Return(aosw.samples_per_packet())))
581 .WillRepeatedly(Return(aosw.samples_per_packet())); 579 .WillRepeatedly(Return(aosw.samples_per_packet()));
582 580
583 aos->Start(&source); 581 aos->Start(&source);
584 loop.PostDelayedTask(FROM_HERE, base::MessageLoop::QuitClosure(), 582 loop.PostDelayedTask(FROM_HERE, base::MessageLoop::QuitClosure(),
585 TestTimeouts::action_timeout()); 583 TestTimeouts::action_timeout());
586 loop.Run(); 584 loop.Run();
587 aos->Stop(); 585 aos->Stop();
588 aos->Close(); 586 aos->Close();
589 } 587 }
590 588
(...skipping 12 matching lines...) Expand all
603 AudioOutputStreamWrapper aosw(audio_manager.get()); 601 AudioOutputStreamWrapper aosw(audio_manager.get());
604 AudioOutputStream* aos = aosw.Create(44100, 160); 602 AudioOutputStream* aos = aosw.Create(44100, 160);
605 EXPECT_TRUE(aos->Open()); 603 EXPECT_TRUE(aos->Open());
606 604
607 // Derive the expected size in bytes of each packet. 605 // Derive the expected size in bytes of each packet.
608 uint32 bytes_per_packet = aosw.channels() * aosw.samples_per_packet() * 606 uint32 bytes_per_packet = aosw.channels() * aosw.samples_per_packet() *
609 (aosw.bits_per_sample() / 8); 607 (aosw.bits_per_sample() / 8);
610 608
611 // Wait for the first callback and verify its parameters. 609 // Wait for the first callback and verify its parameters.
612 EXPECT_CALL(source, OnMoreData(NotNull(), HasValidDelay(bytes_per_packet))) 610 EXPECT_CALL(source, OnMoreData(NotNull(), HasValidDelay(bytes_per_packet)))
613 .WillOnce(DoAll( 611 .WillOnce(DoAll(QuitLoop(loop.task_runner()),
614 QuitLoop(loop.message_loop_proxy()), 612 Return(aosw.samples_per_packet())))
615 Return(aosw.samples_per_packet()))) 613 .WillRepeatedly(Return(aosw.samples_per_packet()));
616 .WillRepeatedly(Return(aosw.samples_per_packet()));
617 614
618 aos->Start(&source); 615 aos->Start(&source);
619 loop.PostDelayedTask(FROM_HERE, base::MessageLoop::QuitClosure(), 616 loop.PostDelayedTask(FROM_HERE, base::MessageLoop::QuitClosure(),
620 TestTimeouts::action_timeout()); 617 TestTimeouts::action_timeout());
621 loop.Run(); 618 loop.Run();
622 aos->Stop(); 619 aos->Stop();
623 aos->Close(); 620 aos->Close();
624 } 621 }
625 622
626 } // namespace media 623 } // namespace media
OLDNEW
« no previous file with comments | « media/audio/audio_output_device_unittest.cc ('k') | media/base/android/media_codec_player.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698