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

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

Issue 2116443002: Restricting output device authorization timeout to Windows only. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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
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_output_device.h" 5 #include "media/audio/audio_output_device.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <cmath> 10 #include <cmath>
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 return audio_callback_->CurrentThreadIsAudioDeviceThread(); 162 return audio_callback_->CurrentThreadIsAudioDeviceThread();
163 } 163 }
164 164
165 void AudioOutputDevice::RequestDeviceAuthorizationOnIOThread() { 165 void AudioOutputDevice::RequestDeviceAuthorizationOnIOThread() {
166 DCHECK(task_runner()->BelongsToCurrentThread()); 166 DCHECK(task_runner()->BelongsToCurrentThread());
167 DCHECK_EQ(state_, IDLE); 167 DCHECK_EQ(state_, IDLE);
168 state_ = AUTHORIZING; 168 state_ = AUTHORIZING;
169 ipc_->RequestDeviceAuthorization(this, session_id_, device_id_, 169 ipc_->RequestDeviceAuthorization(this, session_id_, device_id_,
170 security_origin_); 170 security_origin_);
171 171
172 // Create the timer on the thread it's used on. It's guaranteed to be 172 if (auth_timeout_ > 0) {
173 // deleted on the same thread since users must call Stop() before deleting 173 // Create the timer on the thread it's used on. It's guaranteed to be
174 // AudioOutputDevice; see ShutDownOnIOThread(). 174 // deleted on the same thread since users must call Stop() before deleting
175 auth_timeout_action_.reset(new base::OneShotTimer()); 175 // AudioOutputDevice; see ShutDownOnIOThread().
176 auth_timeout_action_->Start( 176 auth_timeout_action_.reset(new base::OneShotTimer());
177 FROM_HERE, auth_timeout_, 177 auth_timeout_action_->Start(
178 base::Bind(&AudioOutputDevice::OnDeviceAuthorized, this, 178 FROM_HERE, auth_timeout_,
179 OUTPUT_DEVICE_STATUS_ERROR_TIMED_OUT, media::AudioParameters(), 179 base::Bind(&AudioOutputDevice::OnDeviceAuthorized, this,
180 std::string())); 180 OUTPUT_DEVICE_STATUS_ERROR_TIMED_OUT,
181 media::AudioParameters(), std::string()));
182 }
181 } 183 }
182 184
183 void AudioOutputDevice::CreateStreamOnIOThread(const AudioParameters& params) { 185 void AudioOutputDevice::CreateStreamOnIOThread(const AudioParameters& params) {
184 DCHECK(task_runner()->BelongsToCurrentThread()); 186 DCHECK(task_runner()->BelongsToCurrentThread());
185 switch (state_) { 187 switch (state_) {
186 case IPC_CLOSED: 188 case IPC_CLOSED:
187 if (callback_) 189 if (callback_)
188 callback_->OnRenderError(); 190 callback_->OnRenderError();
189 break; 191 break;
190 192
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 render_callback_->Render(output_bus_.get(), std::round(frames_delayed), 492 render_callback_->Render(output_bus_.get(), std::round(frames_delayed),
491 frames_skipped); 493 frames_skipped);
492 } 494 }
493 495
494 bool AudioOutputDevice::AudioThreadCallback:: 496 bool AudioOutputDevice::AudioThreadCallback::
495 CurrentThreadIsAudioDeviceThread() { 497 CurrentThreadIsAudioDeviceThread() {
496 return thread_checker_.CalledOnValidThread(); 498 return thread_checker_.CalledOnValidThread();
497 } 499 }
498 500
499 } // namespace media 501 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698