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 29 matching lines...) Expand all Loading... |
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 } | 47 } |
48 | 48 |
49 namespace content { | 49 namespace content { |
| 50 class AudioMirroringManager; |
50 class MediaStreamManager; | 51 class MediaStreamManager; |
51 | 52 |
52 class CONTENT_EXPORT AudioInputRendererHost | 53 class CONTENT_EXPORT AudioInputRendererHost |
53 : public BrowserMessageFilter, | 54 : public BrowserMessageFilter, |
54 public media::AudioInputController::EventHandler { | 55 public media::AudioInputController::EventHandler { |
55 public: | 56 public: |
56 // Called from UI thread from the owner of this object. | 57 // Called from UI thread from the owner of this object. |
57 AudioInputRendererHost( | 58 AudioInputRendererHost( |
58 media::AudioManager* audio_manager, | 59 media::AudioManager* audio_manager, |
59 MediaStreamManager* media_stream_manager); | 60 MediaStreamManager* media_stream_manager, |
| 61 AudioMirroringManager* audio_mirroring_manager); |
60 | 62 |
61 // BrowserMessageFilter implementation. | 63 // BrowserMessageFilter implementation. |
62 virtual void OnChannelClosing() OVERRIDE; | 64 virtual void OnChannelClosing() OVERRIDE; |
63 virtual void OnDestruct() const OVERRIDE; | 65 virtual void OnDestruct() const OVERRIDE; |
64 virtual bool OnMessageReceived(const IPC::Message& message, | 66 virtual bool OnMessageReceived(const IPC::Message& message, |
65 bool* message_was_ok) OVERRIDE; | 67 bool* message_was_ok) OVERRIDE; |
66 | 68 |
67 // AudioInputController::EventHandler implementation. | 69 // AudioInputController::EventHandler implementation. |
68 virtual void OnCreated(media::AudioInputController* controller) OVERRIDE; | 70 virtual void OnCreated(media::AudioInputController* controller) OVERRIDE; |
69 virtual void OnRecording(media::AudioInputController* controller) OVERRIDE; | 71 virtual void OnRecording(media::AudioInputController* controller) OVERRIDE; |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 AudioEntry* LookupById(int stream_id); | 139 AudioEntry* LookupById(int stream_id); |
138 | 140 |
139 // Search for a AudioEntry having the reference to |controller|. | 141 // Search for a AudioEntry having the reference to |controller|. |
140 // This method is used to look up an AudioEntry after a controller | 142 // This method is used to look up an AudioEntry after a controller |
141 // event is received. | 143 // event is received. |
142 AudioEntry* LookupByController(media::AudioInputController* controller); | 144 AudioEntry* LookupByController(media::AudioInputController* controller); |
143 | 145 |
144 // Used to create an AudioInputController. | 146 // Used to create an AudioInputController. |
145 media::AudioManager* audio_manager_; | 147 media::AudioManager* audio_manager_; |
146 | 148 |
| 149 AudioMirroringManager* audio_mirroring_manager_; |
| 150 |
147 // Used to access to AudioInputDeviceManager. | 151 // Used to access to AudioInputDeviceManager. |
148 MediaStreamManager* media_stream_manager_; | 152 MediaStreamManager* media_stream_manager_; |
149 | 153 |
150 // A map of stream IDs to audio sources. | 154 // A map of stream IDs to audio sources. |
151 AudioEntryMap audio_entries_; | 155 AudioEntryMap audio_entries_; |
152 | 156 |
153 DISALLOW_COPY_AND_ASSIGN(AudioInputRendererHost); | 157 DISALLOW_COPY_AND_ASSIGN(AudioInputRendererHost); |
154 }; | 158 }; |
155 | 159 |
156 } // namespace content | 160 } // namespace content |
157 | 161 |
158 #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 |