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

Side by Side Diff: content/browser/renderer_host/media/audio_input_renderer_host.h

Issue 599443003: Activate and inactivate keyboard mic on ChromeOS. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@check_kmic_set_effect
Patch Set: Code review fix. Created 6 years, 3 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
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 // AudioInputRendererHost serves audio related requests from audio capturer 5 // AudioInputRendererHost serves audio related requests from audio capturer
6 // which lives inside the render process and provide access to audio hardware. 6 // which lives inside the render process and provide access to audio hardware.
7 // 7 //
8 // Create stream sequence (AudioInputController = AIC): 8 // Create stream sequence (AudioInputController = AIC):
9 // 9 //
10 // AudioInputHostMsg_CreateStream -> OnCreateStream -> AIC::CreateLowLatency -> 10 // AudioInputHostMsg_CreateStream -> OnCreateStream -> AIC::CreateLowLatency ->
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 129
130 struct AudioEntry; 130 struct AudioEntry;
131 typedef std::map<int, AudioEntry*> AudioEntryMap; 131 typedef std::map<int, AudioEntry*> AudioEntryMap;
132 132
133 virtual ~AudioInputRendererHost(); 133 virtual ~AudioInputRendererHost();
134 134
135 // Methods called on IO thread ---------------------------------------------- 135 // Methods called on IO thread ----------------------------------------------
136 136
137 // Audio related IPC message handlers. 137 // Audio related IPC message handlers.
138 138
139 // For ChromeOS: Checks if the stream should contain keyboard mic, if so
140 // registers to AudioInputDeviceManager. Then calls DoCreateStream.
141 // For non-ChromeOS: Just calls DoCreateStream.
142 void OnCreateStream(int stream_id,
143 int render_view_id,
144 int session_id,
145 const AudioInputHostMsg_CreateStream_Config& config);
146
139 // Creates an audio input stream with the specified format whose data is 147 // Creates an audio input stream with the specified format whose data is
140 // consumed by an entity in the render view referenced by |render_view_id|. 148 // consumed by an entity in the render view referenced by |render_view_id|.
141 // |session_id| is used to find out which device to be used for the stream. 149 // |session_id| is used to find out which device to be used for the stream.
142 // Upon success/failure, the peer is notified via the 150 // Upon success/failure, the peer is notified via the
143 // NotifyStreamCreated message. 151 // NotifyStreamCreated message.
144 void OnCreateStream(int stream_id, 152 void DoCreateStream(int stream_id,
145 int render_view_id, 153 int render_view_id,
146 int session_id, 154 int session_id,
147 const AudioInputHostMsg_CreateStream_Config& config); 155 const AudioInputHostMsg_CreateStream_Config& config);
148 156
149 // Record the audio input stream referenced by |stream_id|. 157 // Record the audio input stream referenced by |stream_id|.
150 void OnRecordStream(int stream_id); 158 void OnRecordStream(int stream_id);
151 159
152 // Close the audio stream referenced by |stream_id|. 160 // Close the audio stream referenced by |stream_id|.
153 void OnCloseStream(int stream_id); 161 void OnCloseStream(int stream_id);
154 162
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 197
190 // A helper method to look up a AudioEntry identified by |stream_id|. 198 // A helper method to look up a AudioEntry identified by |stream_id|.
191 // Returns NULL if not found. 199 // Returns NULL if not found.
192 AudioEntry* LookupById(int stream_id); 200 AudioEntry* LookupById(int stream_id);
193 201
194 // Search for a AudioEntry having the reference to |controller|. 202 // Search for a AudioEntry having the reference to |controller|.
195 // This method is used to look up an AudioEntry after a controller 203 // This method is used to look up an AudioEntry after a controller
196 // event is received. 204 // event is received.
197 AudioEntry* LookupByController(media::AudioInputController* controller); 205 AudioEntry* LookupByController(media::AudioInputController* controller);
198 206
207 // If ChromeOS and |config|'s layout has keyboard mic, unregister in
208 // AudioInputDeviceManager.
209 void MaybeUnregisterKeyboardMicStream(
210 const AudioInputHostMsg_CreateStream_Config& config);
211
199 // Used to create an AudioInputController. 212 // Used to create an AudioInputController.
200 media::AudioManager* audio_manager_; 213 media::AudioManager* audio_manager_;
201 214
202 // Used to access to AudioInputDeviceManager. 215 // Used to access to AudioInputDeviceManager.
203 MediaStreamManager* media_stream_manager_; 216 MediaStreamManager* media_stream_manager_;
204 217
205 AudioMirroringManager* audio_mirroring_manager_; 218 AudioMirroringManager* audio_mirroring_manager_;
206 219
207 // A map of stream IDs to audio sources. 220 // A map of stream IDs to audio sources.
208 AudioEntryMap audio_entries_; 221 AudioEntryMap audio_entries_;
209 222
210 // Raw pointer of the UserInputMonitor. 223 // Raw pointer of the UserInputMonitor.
211 media::UserInputMonitor* user_input_monitor_; 224 media::UserInputMonitor* user_input_monitor_;
212 225
213 scoped_ptr<media::AudioLog> audio_log_; 226 scoped_ptr<media::AudioLog> audio_log_;
214 227
215 DISALLOW_COPY_AND_ASSIGN(AudioInputRendererHost); 228 DISALLOW_COPY_AND_ASSIGN(AudioInputRendererHost);
216 }; 229 };
217 230
218 } // namespace content 231 } // namespace content
219 232
220 #endif // CONTENT_BROWSER_RENDERER_HOST_MEDIA_AUDIO_INPUT_RENDERER_HOST_H_ 233 #endif // CONTENT_BROWSER_RENDERER_HOST_MEDIA_AUDIO_INPUT_RENDERER_HOST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698