Index: content/renderer/media/audio_message_filter.cc |
diff --git a/content/renderer/media/audio_message_filter.cc b/content/renderer/media/audio_message_filter.cc |
index 22915c521c53264ededd36610bf119e14089c95c..a9537c20bd94f761b8ad85c64b4a4a571d21a5eb 100644 |
--- a/content/renderer/media/audio_message_filter.cc |
+++ b/content/renderer/media/audio_message_filter.cc |
@@ -9,6 +9,8 @@ |
#include "base/time.h" |
#include "content/common/child_process.h" |
#include "content/common/media/audio_messages.h" |
+// #include "content/renderer/media/audio_hardware.h" |
+#include "content/renderer/media/renderer_audio_hardware_config.h" |
#include "content/renderer/render_thread_impl.h" |
#include "ipc/ipc_logging.h" |
@@ -96,6 +98,7 @@ bool AudioMessageFilter::OnMessageReceived(const IPC::Message& message) { |
IPC_BEGIN_MESSAGE_MAP(AudioMessageFilter, message) |
IPC_MESSAGE_HANDLER(AudioMsg_NotifyStreamCreated, OnStreamCreated) |
IPC_MESSAGE_HANDLER(AudioMsg_NotifyStreamStateChanged, OnStreamStateChanged) |
+ IPC_MESSAGE_HANDLER(AudioMsg_NotifyDeviceChanged, OnOutputDeviceChanged) |
IPC_MESSAGE_UNHANDLED(handled = false) |
IPC_END_MESSAGE_MAP() |
return handled; |
@@ -177,4 +180,19 @@ void AudioMessageFilter::OnStreamStateChanged( |
it->second->OnStateChanged(state); |
} |
+void AudioMessageFilter::OnOutputDeviceChanged(int stream_id, |
+ int new_sample_rate, |
+ int new_buffer_size) { |
+ DelegateMap::const_iterator it = delegates_.find(stream_id); |
+ if (it == delegates_.end()) { |
+ DLOG(WARNING) << "No delegate found for device change."; |
+ return; |
+ } |
+ |
+ LOG(ERROR) << "DOING DEVICE CHANGE"; |
+ // TODO(dalecurtis): AudioMessageFilter shouldn't be doing this... |
+ // UpdateAudioOutputCache(new_sample_rate, new_buffer_size); |
+ it->second->OnStateChanged(media::AudioOutputIPCDelegate::kDeviceChange); |
+} |
+ |
} // namespace content |