| Index: chrome/renderer/audio_message_filter.cc
|
| ===================================================================
|
| --- chrome/renderer/audio_message_filter.cc (revision 14824)
|
| +++ chrome/renderer/audio_message_filter.cc (working copy)
|
| @@ -2,10 +2,28 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| +#include "base/histogram.h"
|
| #include "base/message_loop.h"
|
| +#include "chrome/common/ipc_logging.h"
|
| #include "chrome/common/render_messages.h"
|
| #include "chrome/renderer/audio_message_filter.h"
|
|
|
| +namespace {
|
| +
|
| +void RecordReceiveLatency(base::TimeDelta latency) {
|
| + static ThreadSafeHistogram histogram("Audio.IPC_Renderer_ReceiveLatency",
|
| + 1, 500, 100);
|
| + histogram.AddTime(latency);
|
| +}
|
| +
|
| +void RecordProcessTime(base::TimeDelta latency) {
|
| + static ThreadSafeHistogram histogram("Audio.IPC_Renderer_ProcessTime",
|
| + 1, 100, 100);
|
| + histogram.AddTime(latency);
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| AudioMessageFilter::AudioMessageFilter(int32 route_id)
|
| : channel_(NULL),
|
| route_id_(route_id),
|
| @@ -55,14 +73,31 @@
|
| channel_ = NULL;
|
| }
|
|
|
| -void AudioMessageFilter::OnRequestPacket(int stream_id) {
|
| +void AudioMessageFilter::OnRequestPacket(const IPC::Message& msg,
|
| + int stream_id) {
|
| Delegate* delegate = delegates_.Lookup(stream_id);
|
| if (!delegate) {
|
| DLOG(WARNING) << "Got audio packet request for a non-existent or removed"
|
| " audio renderer.";
|
| return;
|
| }
|
| +
|
| +#ifdef IPC_MESSAGE_LOG_ENABLED
|
| + IPC::Logging* logger = IPC::Logging::current();
|
| + if (logger->Enabled()) {
|
| + RecordReceiveLatency(base::Time::FromInternalValue(msg.received_time()) -
|
| + base::Time::FromInternalValue(msg.sent_time()));
|
| + }
|
| +#endif
|
| +
|
| delegate->OnRequestPacket();
|
| +
|
| +#ifdef IPC_MESSAGE_LOG_ENABLED
|
| + if (logger->Enabled()) {
|
| + RecordProcessTime(base::Time::Now() -
|
| + base::Time::FromInternalValue(msg.received_time()));
|
| + }
|
| +#endif
|
| }
|
|
|
| void AudioMessageFilter::OnStreamCreated(int stream_id,
|
|
|