OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "content/renderer/audio_message_filter.h" | 5 #include "content/renderer/audio_message_filter.h" |
6 | 6 |
7 #include "base/message_loop.h" | 7 #include "base/message_loop.h" |
8 #include "base/time.h" | 8 #include "base/time.h" |
9 #include "chrome/common/render_messages.h" | 9 #include "content/common/audio_messages.h" |
10 #include "chrome/common/render_messages_params.h" | |
11 #include "ipc/ipc_logging.h" | 10 #include "ipc/ipc_logging.h" |
12 | 11 |
13 AudioMessageFilter::AudioMessageFilter(int32 route_id) | 12 AudioMessageFilter::AudioMessageFilter(int32 route_id) |
14 : channel_(NULL), | 13 : channel_(NULL), |
15 route_id_(route_id), | 14 route_id_(route_id), |
16 message_loop_(NULL) { | 15 message_loop_(NULL) { |
17 } | 16 } |
18 | 17 |
19 AudioMessageFilter::~AudioMessageFilter() { | 18 AudioMessageFilter::~AudioMessageFilter() { |
20 } | 19 } |
(...skipping 16 matching lines...) Expand all Loading... |
37 message->set_routing_id(route_id_); | 36 message->set_routing_id(route_id_); |
38 return channel_->Send(message); | 37 return channel_->Send(message); |
39 } | 38 } |
40 | 39 |
41 bool AudioMessageFilter::OnMessageReceived(const IPC::Message& message) { | 40 bool AudioMessageFilter::OnMessageReceived(const IPC::Message& message) { |
42 if (message.routing_id() != route_id_) | 41 if (message.routing_id() != route_id_) |
43 return false; | 42 return false; |
44 | 43 |
45 bool handled = true; | 44 bool handled = true; |
46 IPC_BEGIN_MESSAGE_MAP(AudioMessageFilter, message) | 45 IPC_BEGIN_MESSAGE_MAP(AudioMessageFilter, message) |
47 IPC_MESSAGE_HANDLER(ViewMsg_RequestAudioPacket, OnRequestPacket) | 46 IPC_MESSAGE_HANDLER(AudioMsg_RequestPacket, OnRequestPacket) |
48 IPC_MESSAGE_HANDLER(ViewMsg_NotifyAudioStreamCreated, OnStreamCreated) | 47 IPC_MESSAGE_HANDLER(AudioMsg_NotifyStreamCreated, OnStreamCreated) |
49 IPC_MESSAGE_HANDLER(ViewMsg_NotifyLowLatencyAudioStreamCreated, | 48 IPC_MESSAGE_HANDLER(AudioMsg_NotifyLowLatencyStreamCreated, |
50 OnLowLatencyStreamCreated) | 49 OnLowLatencyStreamCreated) |
51 IPC_MESSAGE_HANDLER(ViewMsg_NotifyAudioStreamStateChanged, | 50 IPC_MESSAGE_HANDLER(AudioMsg_NotifyStreamStateChanged, OnStreamStateChanged) |
52 OnStreamStateChanged) | 51 IPC_MESSAGE_HANDLER(AudioMsg_NotifyStreamVolume, OnStreamVolume) |
53 IPC_MESSAGE_HANDLER(ViewMsg_NotifyAudioStreamVolume, OnStreamVolume) | |
54 IPC_MESSAGE_UNHANDLED(handled = false) | 52 IPC_MESSAGE_UNHANDLED(handled = false) |
55 IPC_END_MESSAGE_MAP() | 53 IPC_END_MESSAGE_MAP() |
56 return handled; | 54 return handled; |
57 } | 55 } |
58 | 56 |
59 void AudioMessageFilter::OnFilterAdded(IPC::Channel* channel) { | 57 void AudioMessageFilter::OnFilterAdded(IPC::Channel* channel) { |
60 // Captures the message loop for IPC. | 58 // Captures the message loop for IPC. |
61 message_loop_ = MessageLoop::current(); | 59 message_loop_ = MessageLoop::current(); |
62 channel_ = channel; | 60 channel_ = channel; |
63 } | 61 } |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 " audio renderer."; | 108 " audio renderer."; |
111 return; | 109 return; |
112 } | 110 } |
113 #if !defined(OS_WIN) | 111 #if !defined(OS_WIN) |
114 base::SyncSocket::Handle socket_handle = socket_descriptor.fd; | 112 base::SyncSocket::Handle socket_handle = socket_descriptor.fd; |
115 #endif | 113 #endif |
116 delegate->OnLowLatencyCreated(handle, socket_handle, length); | 114 delegate->OnLowLatencyCreated(handle, socket_handle, length); |
117 } | 115 } |
118 | 116 |
119 void AudioMessageFilter::OnStreamStateChanged( | 117 void AudioMessageFilter::OnStreamStateChanged( |
120 int stream_id, | 118 int stream_id, AudioStreamState state) { |
121 const ViewMsg_AudioStreamState_Params& state) { | |
122 Delegate* delegate = delegates_.Lookup(stream_id); | 119 Delegate* delegate = delegates_.Lookup(stream_id); |
123 if (!delegate) { | 120 if (!delegate) { |
124 DLOG(WARNING) << "Got audio stream event for a non-existent or removed" | 121 DLOG(WARNING) << "Got audio stream event for a non-existent or removed" |
125 " audio renderer."; | 122 " audio renderer."; |
126 return; | 123 return; |
127 } | 124 } |
128 delegate->OnStateChanged(state); | 125 delegate->OnStateChanged(state); |
129 } | 126 } |
130 | 127 |
131 void AudioMessageFilter::OnStreamVolume(int stream_id, double volume) { | 128 void AudioMessageFilter::OnStreamVolume(int stream_id, double volume) { |
132 Delegate* delegate = delegates_.Lookup(stream_id); | 129 Delegate* delegate = delegates_.Lookup(stream_id); |
133 if (!delegate) { | 130 if (!delegate) { |
134 DLOG(WARNING) << "Got audio stream event for a non-existent or removed" | 131 DLOG(WARNING) << "Got audio stream event for a non-existent or removed" |
135 " audio renderer."; | 132 " audio renderer."; |
136 return; | 133 return; |
137 } | 134 } |
138 delegate->OnVolume(volume); | 135 delegate->OnVolume(volume); |
139 } | 136 } |
140 | 137 |
141 int32 AudioMessageFilter::AddDelegate(Delegate* delegate) { | 138 int32 AudioMessageFilter::AddDelegate(Delegate* delegate) { |
142 return delegates_.Add(delegate); | 139 return delegates_.Add(delegate); |
143 } | 140 } |
144 | 141 |
145 void AudioMessageFilter::RemoveDelegate(int32 id) { | 142 void AudioMessageFilter::RemoveDelegate(int32 id) { |
146 delegates_.Remove(id); | 143 delegates_.Remove(id); |
147 } | 144 } |
OLD | NEW |