Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(334)

Side by Side Diff: content/renderer/media/webrtc_audio_device_impl.cc

Issue 2146513002: More tracing for audio rendering (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: actual code Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/media/webrtc_audio_device_impl.h" 5 #include "content/renderer/media/webrtc_audio_device_impl.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/metrics/histogram.h" 8 #include "base/metrics/histogram.h"
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "base/trace_event/trace_event.h"
10 #include "base/win/windows_version.h" 11 #include "base/win/windows_version.h"
11 #include "content/renderer/media/webrtc/processed_local_audio_source.h" 12 #include "content/renderer/media/webrtc/processed_local_audio_source.h"
12 #include "content/renderer/media/webrtc_audio_renderer.h" 13 #include "content/renderer/media/webrtc_audio_renderer.h"
13 #include "media/audio/sample_rates.h" 14 #include "media/audio/sample_rates.h"
14 #include "media/base/audio_bus.h" 15 #include "media/base/audio_bus.h"
15 #include "media/base/audio_parameters.h" 16 #include "media/base/audio_parameters.h"
16 17
17 using media::AudioParameters; 18 using media::AudioParameters;
18 using media::ChannelLayout; 19 using media::ChannelLayout;
19 20
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 int frames_per_10_ms = (sample_rate / 100); 88 int frames_per_10_ms = (sample_rate / 100);
88 int bytes_per_sample = sizeof(render_buffer_[0]); 89 int bytes_per_sample = sizeof(render_buffer_[0]);
89 // Client should always ask for 10ms. 90 // Client should always ask for 10ms.
90 DCHECK_EQ(audio_bus->frames(), frames_per_10_ms); 91 DCHECK_EQ(audio_bus->frames(), frames_per_10_ms);
91 92
92 // Get 10ms audio and copy result to temporary byte buffer. 93 // Get 10ms audio and copy result to temporary byte buffer.
93 int64_t elapsed_time_ms = -1; 94 int64_t elapsed_time_ms = -1;
94 int64_t ntp_time_ms = -1; 95 int64_t ntp_time_ms = -1;
95 static const int kBitsPerByte = 8; 96 static const int kBitsPerByte = 8;
96 int16_t* audio_data = &render_buffer_[0]; 97 int16_t* audio_data = &render_buffer_[0];
98
99 TRACE_EVENT_BEGIN0("audio", "VoE::PullRenderData");
Henrik Grunell 2016/08/22 08:29:06 Nit: VoiceEngine is kind of an implementation deta
97 audio_transport_callback_->PullRenderData( 100 audio_transport_callback_->PullRenderData(
98 bytes_per_sample * kBitsPerByte, sample_rate, audio_bus->channels(), 101 bytes_per_sample * kBitsPerByte, sample_rate, audio_bus->channels(),
99 frames_per_10_ms, audio_data, &elapsed_time_ms, &ntp_time_ms); 102 frames_per_10_ms, audio_data, &elapsed_time_ms, &ntp_time_ms);
103 TRACE_EVENT_END0("audio", "VoE::PullRenderData");
100 if (elapsed_time_ms >= 0) { 104 if (elapsed_time_ms >= 0) {
101 *current_time = base::TimeDelta::FromMilliseconds(elapsed_time_ms); 105 *current_time = base::TimeDelta::FromMilliseconds(elapsed_time_ms);
102 } 106 }
103 107
104 // De-interleave each channel and convert to 32-bit floating-point 108 // De-interleave each channel and convert to 32-bit floating-point
105 // with nominal range -1.0 -> +1.0 to match the callback format. 109 // with nominal range -1.0 -> +1.0 to match the callback format.
106 audio_bus->FromInterleaved(&render_buffer_[0], 110 audio_bus->FromInterleaved(&render_buffer_[0],
107 audio_bus->frames(), 111 audio_bus->frames(),
108 bytes_per_sample); 112 bytes_per_sample);
109 113
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 491
488 *session_id = device_info.session_id; 492 *session_id = device_info.session_id;
489 *output_sample_rate = device_info.device.matched_output.sample_rate; 493 *output_sample_rate = device_info.device.matched_output.sample_rate;
490 *output_frames_per_buffer = 494 *output_frames_per_buffer =
491 device_info.device.matched_output.frames_per_buffer; 495 device_info.device.matched_output.frames_per_buffer;
492 496
493 return true; 497 return true;
494 } 498 }
495 499
496 } // namespace content 500 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698