OLD | NEW |
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 26 matching lines...) Expand all Loading... |
37 #include "content/common/media/audio_messages.h" | 37 #include "content/common/media/audio_messages.h" |
38 #include "content/public/browser/browser_message_filter.h" | 38 #include "content/public/browser/browser_message_filter.h" |
39 #include "content/public/browser/browser_thread.h" | 39 #include "content/public/browser/browser_thread.h" |
40 #include "media/audio/audio_input_controller.h" | 40 #include "media/audio/audio_input_controller.h" |
41 #include "media/audio/audio_io.h" | 41 #include "media/audio/audio_io.h" |
42 #include "media/audio/simple_sources.h" | 42 #include "media/audio/simple_sources.h" |
43 | 43 |
44 namespace media { | 44 namespace media { |
45 class AudioManager; | 45 class AudioManager; |
46 class AudioParameters; | 46 class AudioParameters; |
| 47 class UserInputMonitor; |
47 } | 48 } |
48 | 49 |
49 namespace content { | 50 namespace content { |
50 class AudioMirroringManager; | 51 class AudioMirroringManager; |
51 class MediaStreamManager; | 52 class MediaStreamManager; |
52 | 53 |
53 class CONTENT_EXPORT AudioInputRendererHost | 54 class CONTENT_EXPORT AudioInputRendererHost |
54 : public BrowserMessageFilter, | 55 : public BrowserMessageFilter, |
55 public media::AudioInputController::EventHandler { | 56 public media::AudioInputController::EventHandler { |
56 public: | 57 public: |
57 // Called from UI thread from the owner of this object. | 58 // Called from UI thread from the owner of this object. |
58 AudioInputRendererHost( | 59 // |user_input_monitor| is used for typing detection and can be NULL. |
59 media::AudioManager* audio_manager, | 60 AudioInputRendererHost(media::AudioManager* audio_manager, |
60 MediaStreamManager* media_stream_manager, | 61 MediaStreamManager* media_stream_manager, |
61 AudioMirroringManager* audio_mirroring_manager); | 62 AudioMirroringManager* audio_mirroring_manager, |
| 63 media::UserInputMonitor* user_input_monitor); |
62 | 64 |
63 // BrowserMessageFilter implementation. | 65 // BrowserMessageFilter implementation. |
64 virtual void OnChannelClosing() OVERRIDE; | 66 virtual void OnChannelClosing() OVERRIDE; |
65 virtual void OnDestruct() const OVERRIDE; | 67 virtual void OnDestruct() const OVERRIDE; |
66 virtual bool OnMessageReceived(const IPC::Message& message, | 68 virtual bool OnMessageReceived(const IPC::Message& message, |
67 bool* message_was_ok) OVERRIDE; | 69 bool* message_was_ok) OVERRIDE; |
68 | 70 |
69 // AudioInputController::EventHandler implementation. | 71 // AudioInputController::EventHandler implementation. |
70 virtual void OnCreated(media::AudioInputController* controller) OVERRIDE; | 72 virtual void OnCreated(media::AudioInputController* controller) OVERRIDE; |
71 virtual void OnRecording(media::AudioInputController* controller) OVERRIDE; | 73 virtual void OnRecording(media::AudioInputController* controller) OVERRIDE; |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 media::AudioManager* audio_manager_; | 149 media::AudioManager* audio_manager_; |
148 | 150 |
149 // Used to access to AudioInputDeviceManager. | 151 // Used to access to AudioInputDeviceManager. |
150 MediaStreamManager* media_stream_manager_; | 152 MediaStreamManager* media_stream_manager_; |
151 | 153 |
152 AudioMirroringManager* audio_mirroring_manager_; | 154 AudioMirroringManager* audio_mirroring_manager_; |
153 | 155 |
154 // A map of stream IDs to audio sources. | 156 // A map of stream IDs to audio sources. |
155 AudioEntryMap audio_entries_; | 157 AudioEntryMap audio_entries_; |
156 | 158 |
| 159 // Raw pointer of the UserInputMonitor. |
| 160 media::UserInputMonitor* user_input_monitor_; |
| 161 |
157 DISALLOW_COPY_AND_ASSIGN(AudioInputRendererHost); | 162 DISALLOW_COPY_AND_ASSIGN(AudioInputRendererHost); |
158 }; | 163 }; |
159 | 164 |
160 } // namespace content | 165 } // namespace content |
161 | 166 |
162 #endif // CONTENT_BROWSER_RENDERER_HOST_MEDIA_AUDIO_INPUT_RENDERER_HOST_H_ | 167 #endif // CONTENT_BROWSER_RENDERER_HOST_MEDIA_AUDIO_INPUT_RENDERER_HOST_H_ |
OLD | NEW |