Index: media/audio/audio_output_controller.cc |
=================================================================== |
--- media/audio/audio_output_controller.cc (revision 240452) |
+++ media/audio/audio_output_controller.cc (working copy) |
@@ -444,4 +444,21 @@ |
DCHECK(is_zero); |
} |
+void AudioOutputController::WedgeCheck() { |
+ DCHECK(message_loop_->BelongsToCurrentThread()); |
+ |
+ // If we should be playing and we haven't, that's a wedge. |
+ if (state_ == kPlaying) { |
+ const bool playback_success = |
+ base::AtomicRefCountIsOne(&on_more_io_data_called_); |
+ |
+ UMA_HISTOGRAM_BOOLEAN( |
+ "Media.AudioOutputControllerPlaybackStartupSuccess", playback_success); |
+ |
+ // Let the AudioManager try and fix it. |
+ if (!playback_success) |
+ audio_manager_->FixWedgedAudio(); |
+ } |
+} |
+ |
} // namespace media |