| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 #include "content/browser/media/capture/web_contents_audio_input_stream.h" | 5 #include "content/browser/media/capture/web_contents_audio_input_stream.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
| 11 #include "base/bind_to_current_loop.h" |
| 11 #include "base/logging.h" | 12 #include "base/logging.h" |
| 12 #include "base/memory/scoped_ptr.h" | 13 #include "base/memory/scoped_ptr.h" |
| 13 #include "base/threading/thread_checker.h" | 14 #include "base/threading/thread_checker.h" |
| 14 #include "content/browser/media/capture/audio_mirroring_manager.h" | 15 #include "content/browser/media/capture/audio_mirroring_manager.h" |
| 15 #include "content/browser/media/capture/web_contents_capture_util.h" | 16 #include "content/browser/media/capture/web_contents_capture_util.h" |
| 16 #include "content/browser/media/capture/web_contents_tracker.h" | 17 #include "content/browser/media/capture/web_contents_tracker.h" |
| 17 #include "content/public/browser/browser_thread.h" | 18 #include "content/public/browser/browser_thread.h" |
| 18 #include "content/public/browser/render_frame_host.h" | 19 #include "content/public/browser/render_frame_host.h" |
| 19 #include "content/public/browser/web_contents.h" | 20 #include "content/public/browser/web_contents.h" |
| 20 #include "media/audio/virtual_audio_input_stream.h" | 21 #include "media/audio/virtual_audio_input_stream.h" |
| 21 #include "media/audio/virtual_audio_output_stream.h" | 22 #include "media/audio/virtual_audio_output_stream.h" |
| 22 #include "media/base/bind_to_current_loop.h" | |
| 23 | 23 |
| 24 namespace content { | 24 namespace content { |
| 25 | 25 |
| 26 class WebContentsAudioInputStream::Impl | 26 class WebContentsAudioInputStream::Impl |
| 27 : public base::RefCountedThreadSafe<WebContentsAudioInputStream::Impl>, | 27 : public base::RefCountedThreadSafe<WebContentsAudioInputStream::Impl>, |
| 28 public AudioMirroringManager::MirroringDestination { | 28 public AudioMirroringManager::MirroringDestination { |
| 29 public: | 29 public: |
| 30 // Takes ownership of |mixer_stream|. The rest outlive this instance. | 30 // Takes ownership of |mixer_stream|. The rest outlive this instance. |
| 31 Impl(int render_process_id, int main_render_frame_id, | 31 Impl(int render_process_id, int main_render_frame_id, |
| 32 AudioMirroringManager* mirroring_manager, | 32 AudioMirroringManager* mirroring_manager, |
| (...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 256 | 256 |
| 257 void WebContentsAudioInputStream::Impl::QueryForMatches( | 257 void WebContentsAudioInputStream::Impl::QueryForMatches( |
| 258 const std::set<SourceFrameRef>& candidates, | 258 const std::set<SourceFrameRef>& candidates, |
| 259 const MatchesCallback& results_callback) { | 259 const MatchesCallback& results_callback) { |
| 260 BrowserThread::PostTask( | 260 BrowserThread::PostTask( |
| 261 BrowserThread::UI, | 261 BrowserThread::UI, |
| 262 FROM_HERE, | 262 FROM_HERE, |
| 263 base::Bind(&Impl::QueryForMatchesOnUIThread, | 263 base::Bind(&Impl::QueryForMatchesOnUIThread, |
| 264 this, | 264 this, |
| 265 candidates, | 265 candidates, |
| 266 media::BindToCurrentLoop(results_callback))); | 266 base::BindToCurrentLoop(results_callback))); |
| 267 } | 267 } |
| 268 | 268 |
| 269 void WebContentsAudioInputStream::Impl::QueryForMatchesOnUIThread( | 269 void WebContentsAudioInputStream::Impl::QueryForMatchesOnUIThread( |
| 270 const std::set<SourceFrameRef>& candidates, | 270 const std::set<SourceFrameRef>& candidates, |
| 271 const MatchesCallback& results_callback) { | 271 const MatchesCallback& results_callback) { |
| 272 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 272 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 273 | 273 |
| 274 std::set<SourceFrameRef> matches; | 274 std::set<SourceFrameRef> matches; |
| 275 WebContents* const contents = tracker_->web_contents(); | 275 WebContents* const contents = tracker_->web_contents(); |
| 276 if (contents) { | 276 if (contents) { |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 388 | 388 |
| 389 bool WebContentsAudioInputStream::GetAutomaticGainControl() { | 389 bool WebContentsAudioInputStream::GetAutomaticGainControl() { |
| 390 return impl_->mixer_stream()->GetAutomaticGainControl(); | 390 return impl_->mixer_stream()->GetAutomaticGainControl(); |
| 391 } | 391 } |
| 392 | 392 |
| 393 bool WebContentsAudioInputStream::IsMuted() { | 393 bool WebContentsAudioInputStream::IsMuted() { |
| 394 return false; | 394 return false; |
| 395 } | 395 } |
| 396 | 396 |
| 397 } // namespace content | 397 } // namespace content |
| OLD | NEW |