Index: media/audio/audio_output_dispatcher_impl.cc |
=================================================================== |
--- media/audio/audio_output_dispatcher_impl.cc (revision 240452) |
+++ media/audio/audio_output_dispatcher_impl.cc (working copy) |
@@ -59,6 +59,8 @@ |
AudioOutputStream::AudioSourceCallback* callback, |
AudioOutputProxy* stream_proxy) { |
DCHECK(message_loop_->BelongsToCurrentThread()); |
+ DCHECK(proxy_to_physical_map_.find(stream_proxy) == |
+ proxy_to_physical_map_.end()); |
if (idle_streams_.empty() && !CreateAndOpenStream()) |
return false; |
@@ -186,4 +188,21 @@ |
} |
} |
+void AudioOutputDispatcherImpl::CloseStreamsForWedgeFix() { |
+ DCHECK(message_loop_->BelongsToCurrentThread()); |
+ while (!pausing_streams_.empty()) { |
+ idle_streams_.push_back(pausing_streams_.back()); |
+ pausing_streams_.pop_back(); |
+ } |
+ ClosePendingStreams(); |
+} |
+ |
+void AudioOutputDispatcherImpl::RestartStreamsForWedgeFix() { |
+ DCHECK(message_loop_->BelongsToCurrentThread()); |
+ |
+ // Should only be called when the dispatcher is used with fake streams which |
+ // don't need to be shutdown or restarted. |
+ CHECK_EQ(params_.format(), AudioParameters::AUDIO_FAKE); |
+} |
+ |
} // namespace media |