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

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

Issue 2533443002: fallback to null sink in WebAudioSourceProvider::Initialize() + UMA stats for device status (Closed)
Patch Set: review comments addressed Created 4 years 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 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 DCHECK_EQ(state_, AUTHORIZING); 318 DCHECK_EQ(state_, AUTHORIZING);
319 319
320 // It may happen that a second authorization is received as a result to a 320 // It may happen that a second authorization is received as a result to a
321 // call to Start() after Stop(). If the status for the second authorization 321 // call to Start() after Stop(). If the status for the second authorization
322 // differs from the first, it will not be reflected in |device_status_| 322 // differs from the first, it will not be reflected in |device_status_|
323 // to avoid a race. 323 // to avoid a race.
324 // This scenario is unlikely. If it occurs, the new value will be 324 // This scenario is unlikely. If it occurs, the new value will be
325 // different from OUTPUT_DEVICE_STATUS_OK, so the AudioOutputDevice 325 // different from OUTPUT_DEVICE_STATUS_OK, so the AudioOutputDevice
326 // will enter the IPC_CLOSED state anyway, which is the safe thing to do. 326 // will enter the IPC_CLOSED state anyway, which is the safe thing to do.
327 // This is preferable to holding a lock. 327 // This is preferable to holding a lock.
328 if (!did_receive_auth_.IsSignaled()) 328 if (!did_receive_auth_.IsSignaled()) {
329 device_status_ = device_status; 329 device_status_ = device_status;
330 UMA_HISTOGRAM_ENUMERATION("Media.Audio.Render.OutputDeviceStatus",
331 device_status, OUTPUT_DEVICE_STATUS_MAX + 1);
332 }
330 333
331 if (device_status == OUTPUT_DEVICE_STATUS_OK) { 334 if (device_status == OUTPUT_DEVICE_STATUS_OK) {
332 state_ = AUTHORIZED; 335 state_ = AUTHORIZED;
333 if (!did_receive_auth_.IsSignaled()) { 336 if (!did_receive_auth_.IsSignaled()) {
334 output_params_ = output_params; 337 output_params_ = output_params;
335 338
336 // It's possible to not have a matched device obtained via session id. It 339 // It's possible to not have a matched device obtained via session id. It
337 // means matching output device through |session_id_| failed and the 340 // means matching output device through |session_id_| failed and the
338 // default device is used. 341 // default device is used.
339 DCHECK(AudioDeviceDescription::UseSessionIdToSelectDevice(session_id_, 342 DCHECK(AudioDeviceDescription::UseSessionIdToSelectDevice(session_id_,
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
484 render_callback_->Render(delay, delay_timestamp, frames_skipped, 487 render_callback_->Render(delay, delay_timestamp, frames_skipped,
485 output_bus_.get()); 488 output_bus_.get());
486 } 489 }
487 490
488 bool AudioOutputDevice::AudioThreadCallback:: 491 bool AudioOutputDevice::AudioThreadCallback::
489 CurrentThreadIsAudioDeviceThread() { 492 CurrentThreadIsAudioDeviceThread() {
490 return thread_checker_.CalledOnValidThread(); 493 return thread_checker_.CalledOnValidThread();
491 } 494 }
492 495
493 } // namespace media 496 } // namespace media
OLDNEW
« no previous file with comments | « content/renderer/media/html_audio_element_capturer_source_unittest.cc ('k') | media/audio/null_audio_sink.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698