OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "base/android/build_info.h" | 5 #include "base/android/build_info.h" |
6 #include "base/basictypes.h" | 6 #include "base/basictypes.h" |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/files/file_util.h" | 8 #include "base/files/file_util.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
11 #include "base/path_service.h" | 11 #include "base/path_service.h" |
12 #include "base/run_loop.h" | 12 #include "base/run_loop.h" |
13 #include "base/strings/stringprintf.h" | 13 #include "base/strings/stringprintf.h" |
14 #include "base/synchronization/lock.h" | 14 #include "base/synchronization/lock.h" |
15 #include "base/synchronization/waitable_event.h" | 15 #include "base/synchronization/waitable_event.h" |
16 #include "base/test/test_timeouts.h" | 16 #include "base/test/test_timeouts.h" |
17 #include "base/time/time.h" | 17 #include "base/time/time.h" |
18 #include "build/build_config.h" | 18 #include "build/build_config.h" |
19 #include "media/audio/android/audio_manager_android.h" | 19 #include "media/audio/android/audio_manager_android.h" |
20 #include "media/audio/audio_io.h" | 20 #include "media/audio/audio_io.h" |
21 #include "media/audio/audio_manager_base.h" | 21 #include "media/audio/audio_manager_base.h" |
| 22 #include "media/audio/audio_unittest_utils.h" |
22 #include "media/audio/mock_audio_source_callback.h" | 23 #include "media/audio/mock_audio_source_callback.h" |
23 #include "media/base/decoder_buffer.h" | 24 #include "media/base/decoder_buffer.h" |
24 #include "media/base/seekable_buffer.h" | 25 #include "media/base/seekable_buffer.h" |
25 #include "media/base/test_data_util.h" | 26 #include "media/base/test_data_util.h" |
26 #include "testing/gmock/include/gmock/gmock.h" | 27 #include "testing/gmock/include/gmock/gmock.h" |
27 #include "testing/gtest/include/gtest/gtest.h" | 28 #include "testing/gtest/include/gtest/gtest.h" |
28 | 29 |
29 using ::testing::_; | 30 using ::testing::_; |
30 using ::testing::AtLeast; | 31 using ::testing::AtLeast; |
31 using ::testing::DoAll; | 32 using ::testing::DoAll; |
(...skipping 694 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
726 } | 727 } |
727 | 728 |
728 // Get the default audio output parameters and log the result. | 729 // Get the default audio output parameters and log the result. |
729 TEST_F(AudioAndroidOutputTest, GetDefaultOutputStreamParameters) { | 730 TEST_F(AudioAndroidOutputTest, GetDefaultOutputStreamParameters) { |
730 GetDefaultOutputStreamParametersOnAudioThread(); | 731 GetDefaultOutputStreamParametersOnAudioThread(); |
731 DVLOG(1) << audio_output_parameters(); | 732 DVLOG(1) << audio_output_parameters(); |
732 } | 733 } |
733 | 734 |
734 // Verify input device enumeration. | 735 // Verify input device enumeration. |
735 TEST_F(AudioAndroidInputTest, GetAudioInputDeviceNames) { | 736 TEST_F(AudioAndroidInputTest, GetAudioInputDeviceNames) { |
736 if (!audio_manager()->HasAudioInputDevices()) | 737 ABORT_AUDIO_TEST_IF_NOT(audio_manager()->HasAudioInputDevices()); |
737 return; | |
738 AudioDeviceNames devices; | 738 AudioDeviceNames devices; |
739 RunOnAudioThread( | 739 RunOnAudioThread( |
740 base::Bind(&AudioManager::GetAudioInputDeviceNames, | 740 base::Bind(&AudioManager::GetAudioInputDeviceNames, |
741 base::Unretained(audio_manager()), | 741 base::Unretained(audio_manager()), |
742 &devices)); | 742 &devices)); |
743 CheckDeviceNames(devices); | 743 CheckDeviceNames(devices); |
744 } | 744 } |
745 | 745 |
746 // Verify output device enumeration. | 746 // Verify output device enumeration. |
747 TEST_F(AudioAndroidOutputTest, GetAudioOutputDeviceNames) { | 747 TEST_F(AudioAndroidOutputTest, GetAudioOutputDeviceNames) { |
748 if (!audio_manager()->HasAudioOutputDevices()) | 748 ABORT_AUDIO_TEST_IF_NOT(audio_manager()->HasAudioOutputDevices()); |
749 return; | |
750 AudioDeviceNames devices; | 749 AudioDeviceNames devices; |
751 RunOnAudioThread( | 750 RunOnAudioThread( |
752 base::Bind(&AudioManager::GetAudioOutputDeviceNames, | 751 base::Bind(&AudioManager::GetAudioOutputDeviceNames, |
753 base::Unretained(audio_manager()), | 752 base::Unretained(audio_manager()), |
754 &devices)); | 753 &devices)); |
755 CheckDeviceNames(devices); | 754 CheckDeviceNames(devices); |
756 } | 755 } |
757 | 756 |
758 // Ensure that a default input stream can be created and closed. | 757 // Ensure that a default input stream can be created and closed. |
759 TEST_P(AudioAndroidInputTest, CreateAndCloseInputStream) { | 758 TEST_P(AudioAndroidInputTest, CreateAndCloseInputStream) { |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
968 base::PlatformThread::Sleep(base::TimeDelta::FromSeconds(20)); | 967 base::PlatformThread::Sleep(base::TimeDelta::FromSeconds(20)); |
969 printf("\n"); | 968 printf("\n"); |
970 StopAndCloseAudioOutputStreamOnAudioThread(); | 969 StopAndCloseAudioOutputStreamOnAudioThread(); |
971 StopAndCloseAudioInputStreamOnAudioThread(); | 970 StopAndCloseAudioInputStreamOnAudioThread(); |
972 } | 971 } |
973 | 972 |
974 INSTANTIATE_TEST_CASE_P(AudioAndroidInputTest, AudioAndroidInputTest, | 973 INSTANTIATE_TEST_CASE_P(AudioAndroidInputTest, AudioAndroidInputTest, |
975 testing::ValuesIn(RunAudioRecordInputPathTests())); | 974 testing::ValuesIn(RunAudioRecordInputPathTests())); |
976 | 975 |
977 } // namespace media | 976 } // namespace media |
OLD | NEW |