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

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

Issue 17491007: Enable audio volume control on Android. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: rebase and update description Created 7 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | media/audio/android/opensles_input.h » ('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 "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 "jni/AudioManagerAndroid_jni.h" 8 #include "jni/AudioManagerAndroid_jni.h"
9 #include "media/audio/android/opensles_input.h" 9 #include "media/audio/android/opensles_input.h"
10 #include "media/audio/android/opensles_output.h" 10 #include "media/audio/android/opensles_output.h"
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 return AudioParameters( 65 return AudioParameters(
66 AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_STEREO, 66 AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_STEREO,
67 GetNativeOutputSampleRate(), 16, 67 GetNativeOutputSampleRate(), 16,
68 buffer_size <= 0 ? kDefaultInputBufferSize : buffer_size); 68 buffer_size <= 0 ? kDefaultInputBufferSize : buffer_size);
69 } 69 }
70 70
71 AudioOutputStream* AudioManagerAndroid::MakeAudioOutputStream( 71 AudioOutputStream* AudioManagerAndroid::MakeAudioOutputStream(
72 const AudioParameters& params, const std::string& input_device_id) { 72 const AudioParameters& params, const std::string& input_device_id) {
73 AudioOutputStream* stream = 73 AudioOutputStream* stream =
74 AudioManagerBase::MakeAudioOutputStream(params, std::string()); 74 AudioManagerBase::MakeAudioOutputStream(params, std::string());
75 if (stream && output_stream_count() == 1) 75 if (stream && output_stream_count() == 1) {
76 SetAudioMode(kAudioModeInCommunication);
76 RegisterHeadsetReceiver(); 77 RegisterHeadsetReceiver();
78 }
77 return stream; 79 return stream;
78 } 80 }
79 81
80 AudioInputStream* AudioManagerAndroid::MakeAudioInputStream( 82 AudioInputStream* AudioManagerAndroid::MakeAudioInputStream(
81 const AudioParameters& params, const std::string& device_id) { 83 const AudioParameters& params, const std::string& device_id) {
82 AudioInputStream* stream = 84 AudioInputStream* stream =
83 AudioManagerBase::MakeAudioInputStream(params, device_id); 85 AudioManagerBase::MakeAudioInputStream(params, device_id);
84 if (stream && input_stream_count() == 1)
85 SetAudioMode(kAudioModeInCommunication);
86 return stream; 86 return stream;
87 } 87 }
88 88
89 void AudioManagerAndroid::ReleaseOutputStream(AudioOutputStream* stream) { 89 void AudioManagerAndroid::ReleaseOutputStream(AudioOutputStream* stream) {
90 AudioManagerBase::ReleaseOutputStream(stream); 90 AudioManagerBase::ReleaseOutputStream(stream);
91 if (!output_stream_count()) 91 if (!output_stream_count()) {
92 UnregisterHeadsetReceiver(); 92 UnregisterHeadsetReceiver();
93 SetAudioMode(kAudioModeNormal);
94 }
93 } 95 }
94 96
95 void AudioManagerAndroid::ReleaseInputStream(AudioInputStream* stream) { 97 void AudioManagerAndroid::ReleaseInputStream(AudioInputStream* stream) {
96 AudioManagerBase::ReleaseInputStream(stream); 98 AudioManagerBase::ReleaseInputStream(stream);
97 if (!input_stream_count())
98 SetAudioMode(kAudioModeNormal);
99 } 99 }
100 100
101 AudioOutputStream* AudioManagerAndroid::MakeLinearOutputStream( 101 AudioOutputStream* AudioManagerAndroid::MakeLinearOutputStream(
102 const AudioParameters& params) { 102 const AudioParameters& params) {
103 DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format()); 103 DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format());
104 return new OpenSLESOutputStream(this, params); 104 return new OpenSLESOutputStream(this, params);
105 } 105 }
106 106
107 AudioOutputStream* AudioManagerAndroid::MakeLowLatencyOutputStream( 107 AudioOutputStream* AudioManagerAndroid::MakeLowLatencyOutputStream(
108 const AudioParameters& params, const std::string& input_device_id) { 108 const AudioParameters& params, const std::string& input_device_id) {
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 j_audio_manager_.obj()); 194 j_audio_manager_.obj());
195 } 195 }
196 196
197 int AudioManagerAndroid::GetAudioLowLatencyOutputFrameSize() { 197 int AudioManagerAndroid::GetAudioLowLatencyOutputFrameSize() {
198 return Java_AudioManagerAndroid_getAudioLowLatencyOutputFrameSize( 198 return Java_AudioManagerAndroid_getAudioLowLatencyOutputFrameSize(
199 base::android::AttachCurrentThread(), 199 base::android::AttachCurrentThread(),
200 j_audio_manager_.obj()); 200 j_audio_manager_.obj());
201 } 201 }
202 202
203 } // namespace media 203 } // namespace media
OLDNEW
« no previous file with comments | « no previous file | media/audio/android/opensles_input.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698