Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(966)

Side by Side Diff: media/audio/audio_input_controller.cc

Issue 14273018: Use the browser UI thread for audio on OSX. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Comments. Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « media/audio/audio_input_controller.h ('k') | media/audio/audio_manager.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include "media/audio/audio_input_controller.h" 5 #include "media/audio/audio_input_controller.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/threading/thread_restrictions.h" 8 #include "base/threading/thread_restrictions.h"
9 #include "media/base/limits.h" 9 #include "media/base/limits.h"
10 #include "media/base/scoped_histogram_timer.h" 10 #include "media/base/scoped_histogram_timer.h"
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 base::Bind(&AudioInputController::DoCreate, controller, 106 base::Bind(&AudioInputController::DoCreate, controller,
107 base::Unretained(audio_manager), params, device_id))) { 107 base::Unretained(audio_manager), params, device_id))) {
108 controller = NULL; 108 controller = NULL;
109 } 109 }
110 110
111 return controller; 111 return controller;
112 } 112 }
113 113
114 // static 114 // static
115 scoped_refptr<AudioInputController> AudioInputController::CreateForStream( 115 scoped_refptr<AudioInputController> AudioInputController::CreateForStream(
116 AudioManager* audio_manager, 116 const scoped_refptr<base::MessageLoopProxy>& message_loop,
117 EventHandler* event_handler, 117 EventHandler* event_handler,
118 AudioInputStream* stream, 118 AudioInputStream* stream,
119 SyncWriter* sync_writer) { 119 SyncWriter* sync_writer) {
120 DCHECK(audio_manager);
121 DCHECK(sync_writer); 120 DCHECK(sync_writer);
122 DCHECK(stream); 121 DCHECK(stream);
123 122
124 // Create the AudioInputController object and ensure that it runs on 123 // Create the AudioInputController object and ensure that it runs on
125 // the audio-manager thread. 124 // the audio-manager thread.
126 scoped_refptr<AudioInputController> controller(new AudioInputController( 125 scoped_refptr<AudioInputController> controller(new AudioInputController(
127 event_handler, sync_writer)); 126 event_handler, sync_writer));
128 controller->message_loop_ = audio_manager->GetMessageLoop(); 127 controller->message_loop_ = message_loop;
129 128
130 // TODO(miu): See TODO at top of file. Until that's resolved, we need to 129 // TODO(miu): See TODO at top of file. Until that's resolved, we need to
131 // disable the error auto-detection here (since the audio mirroring 130 // disable the error auto-detection here (since the audio mirroring
132 // implementation will reliably report error and close events). Note, of 131 // implementation will reliably report error and close events). Note, of
133 // course, that we're assuming CreateForStream() has been called for the audio 132 // course, that we're assuming CreateForStream() has been called for the audio
134 // mirroring use case only. 133 // mirroring use case only.
135 if (!controller->message_loop_->PostTask( 134 if (!controller->message_loop_->PostTask(
136 FROM_HERE, 135 FROM_HERE,
137 base::Bind(&AudioInputController::DoCreateForStream, controller, 136 base::Bind(&AudioInputController::DoCreateForStream, controller,
138 stream, false))) { 137 stream, false))) {
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
372 371
373 void AudioInputController::SetDataIsActive(bool enabled) { 372 void AudioInputController::SetDataIsActive(bool enabled) {
374 base::subtle::Release_Store(&data_is_active_, enabled); 373 base::subtle::Release_Store(&data_is_active_, enabled);
375 } 374 }
376 375
377 bool AudioInputController::GetDataIsActive() { 376 bool AudioInputController::GetDataIsActive() {
378 return (base::subtle::Acquire_Load(&data_is_active_) != false); 377 return (base::subtle::Acquire_Load(&data_is_active_) != false);
379 } 378 }
380 379
381 } // namespace media 380 } // namespace media
OLDNEW
« no previous file with comments | « media/audio/audio_input_controller.h ('k') | media/audio/audio_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698