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