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

Side by Side Diff: media/audio/android/audio_manager_android.cc

Issue 9570014: Move some generic functions to AudioManagerBase to be inherited by platform-specific AudioManager*** (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: addressed tommi's comments and changed alsa unittest to use Close() to delete stream Created 8 years, 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "media/audio/android/audio_manager_android.h" 5 #include "media/audio/android/audio_manager_android.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "media/audio/android/audio_track_output_android.h" 8 #include "media/audio/android/audio_track_output_android.h"
9 #include "media/audio/audio_manager.h" 9 #include "media/audio/audio_manager.h"
10 #include "media/audio/fake_audio_input_stream.h" 10 #include "media/audio/fake_audio_input_stream.h"
11 #include "media/audio/fake_audio_output_stream.h" 11
12 // Maximum number of output streams that can be open simultaneously.
13 static const int kMaxOutputStreams = 10;
12 14
13 AudioManager* CreateAudioManager() { 15 AudioManager* CreateAudioManager() {
14 return new AudioManagerAndroid(); 16 return new AudioManagerAndroid();
15 } 17 }
16 18
17 AudioManagerAndroid::AudioManagerAndroid() {} 19 AudioManagerAndroid::AudioManagerAndroid() {}
18 20
19 AudioManagerAndroid::~AudioManagerAndroid() { 21 AudioManagerAndroid::~AudioManagerAndroid() {
20 audio_thread_->Stop(); 22 audio_thread_->Stop();
21 } 23 }
22 24
23 bool AudioManagerAndroid::HasAudioOutputDevices() { 25 bool AudioManagerAndroid::HasAudioOutputDevices() {
24 return true; 26 return true;
25 } 27 }
26 28
27 bool AudioManagerAndroid::HasAudioInputDevices() { 29 bool AudioManagerAndroid::HasAudioInputDevices() {
28 return false; 30 return false;
29 } 31 }
30 32
31 AudioOutputStream* AudioManagerAndroid::MakeAudioOutputStream(
32 const AudioParameters& params) {
33 if (!params.IsValid())
34 return NULL;
35
36 if (params.format == AudioParameters::AUDIO_MOCK)
37 return FakeAudioOutputStream::MakeFakeStream(params);
38 if (params.format == AudioParameters::AUDIO_PCM_LINEAR ||
39 params.format == AudioParameters::AUDIO_PCM_LOW_LATENCY)
40 return AudioTrackOutputStream::MakeStream(params);
41
42 return NULL;
43 }
44
45 AudioInputStream* AudioManagerAndroid::MakeAudioInputStream(
46 const AudioParameters& params, const std::string& device_id) {
47 return FakeAudioInputStream::MakeFakeStream(params);
48 }
49
50 void AudioManagerAndroid::MuteAll() { 33 void AudioManagerAndroid::MuteAll() {
51 NOTIMPLEMENTED(); 34 NOTIMPLEMENTED();
52 } 35 }
53 36
54 void AudioManagerAndroid::UnMuteAll() { 37 void AudioManagerAndroid::UnMuteAll() {
55 NOTIMPLEMENTED(); 38 NOTIMPLEMENTED();
56 } 39 }
40
41 int AudioManagerAndroid::GetMaxOutputStreamsAllowed() {
42 return kMaxOutputStreams;
43 }
44
45 AudioOutputStream* AudioManagerAndroid::MakeLinearOutputStream(
46 const AudioParameters& params) {
47 DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format);
48 return AudioTrackOutputStream::MakeStream(params);
49 }
50
51 AudioOutputStream* AudioManagerAndroid::MakeLowLatencyOutputStream(
52 const AudioParameters& params) {
53 DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format);
54 return AudioTrackOutputStream::MakeStream(params);
55 }
56
57 AudioInputStream* AudioManagerAndroid::MakeLinearInputStream(
58 const AudioParameters& params, const std::string& device_id) {
59 DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format);
60 return FakeAudioInputStream::MakeFakeStream(params);
61 }
62
63 AudioInputStream* AudioManagerAndroid::MakeALowLatencyInputStream(
64 const AudioParameters& params, const std::string& device_id) {
65 DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format);
66 return FakeAudioInputStream::MakeFakeStream(params);
67 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698