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 #ifndef CONTENT_RENDERER_MEDIA_WEBRTC_AUDIO_CAPTURER_H_ | 5 #ifndef CONTENT_RENDERER_MEDIA_WEBRTC_AUDIO_CAPTURER_H_ |
6 #define CONTENT_RENDERER_MEDIA_WEBRTC_AUDIO_CAPTURER_H_ | 6 #define CONTENT_RENDERER_MEDIA_WEBRTC_AUDIO_CAPTURER_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 void GetAudioProcessingParams(base::TimeDelta* delay, int* volume, | 111 void GetAudioProcessingParams(base::TimeDelta* delay, int* volume, |
112 bool* key_pressed); | 112 bool* key_pressed); |
113 | 113 |
114 // Used by the unittests to inject their own source to the capturer. | 114 // Used by the unittests to inject their own source to the capturer. |
115 void SetCapturerSourceForTesting( | 115 void SetCapturerSourceForTesting( |
116 const scoped_refptr<media::AudioCapturerSource>& source, | 116 const scoped_refptr<media::AudioCapturerSource>& source, |
117 media::AudioParameters params); | 117 media::AudioParameters params); |
118 | 118 |
119 protected: | 119 protected: |
120 friend class base::RefCountedThreadSafe<WebRtcAudioCapturer>; | 120 friend class base::RefCountedThreadSafe<WebRtcAudioCapturer>; |
121 virtual ~WebRtcAudioCapturer(); | 121 ~WebRtcAudioCapturer() override; |
122 | 122 |
123 private: | 123 private: |
124 class TrackOwner; | 124 class TrackOwner; |
125 typedef TaggedList<TrackOwner> TrackList; | 125 typedef TaggedList<TrackOwner> TrackList; |
126 | 126 |
127 WebRtcAudioCapturer(int render_view_id, | 127 WebRtcAudioCapturer(int render_view_id, |
128 const StreamDeviceInfo& device_info, | 128 const StreamDeviceInfo& device_info, |
129 const blink::WebMediaConstraints& constraints, | 129 const blink::WebMediaConstraints& constraints, |
130 WebRtcAudioDeviceImpl* audio_device, | 130 WebRtcAudioDeviceImpl* audio_device, |
131 MediaStreamAudioSource* audio_source); | 131 MediaStreamAudioSource* audio_source); |
132 | 132 |
133 // AudioCapturerSource::CaptureCallback implementation. | 133 // AudioCapturerSource::CaptureCallback implementation. |
134 // Called on the AudioInputDevice audio thread. | 134 // Called on the AudioInputDevice audio thread. |
135 virtual void Capture(const media::AudioBus* audio_source, | 135 void Capture(const media::AudioBus* audio_source, |
136 int audio_delay_milliseconds, | 136 int audio_delay_milliseconds, |
137 double volume, | 137 double volume, |
138 bool key_pressed) override; | 138 bool key_pressed) override; |
139 virtual void OnCaptureError() override; | 139 void OnCaptureError() override; |
140 | 140 |
141 // Initializes the default audio capturing source using the provided render | 141 // Initializes the default audio capturing source using the provided render |
142 // view id and device information. Return true if success, otherwise false. | 142 // view id and device information. Return true if success, otherwise false. |
143 bool Initialize(); | 143 bool Initialize(); |
144 | 144 |
145 // SetCapturerSource() is called if the client on the source side desires to | 145 // SetCapturerSource() is called if the client on the source side desires to |
146 // provide their own captured audio data. Client is responsible for calling | 146 // provide their own captured audio data. Client is responsible for calling |
147 // Start() on its own source to have the ball rolling. | 147 // Start() on its own source to have the ball rolling. |
148 // Called on the main render thread. | 148 // Called on the main render thread. |
149 void SetCapturerSource( | 149 void SetCapturerSource( |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
215 // guaranteed to exist as long as a WebRtcLocalAudioTrack is connected to this | 215 // guaranteed to exist as long as a WebRtcLocalAudioTrack is connected to this |
216 // WebRtcAudioCapturer. | 216 // WebRtcAudioCapturer. |
217 MediaStreamAudioSource* const audio_source_; | 217 MediaStreamAudioSource* const audio_source_; |
218 | 218 |
219 DISALLOW_COPY_AND_ASSIGN(WebRtcAudioCapturer); | 219 DISALLOW_COPY_AND_ASSIGN(WebRtcAudioCapturer); |
220 }; | 220 }; |
221 | 221 |
222 } // namespace content | 222 } // namespace content |
223 | 223 |
224 #endif // CONTENT_RENDERER_MEDIA_WEBRTC_AUDIO_CAPTURER_H_ | 224 #endif // CONTENT_RENDERER_MEDIA_WEBRTC_AUDIO_CAPTURER_H_ |
OLD | NEW |