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

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

Issue 1314803003: Include default communication devices in audio device enumerations. This removes heuristic that pic… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_renderer.h" 5 #include "content/renderer/media/webrtc_audio_renderer.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/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 124
125 private: 125 private:
126 base::ThreadChecker thread_checker_; 126 base::ThreadChecker thread_checker_;
127 const scoped_refptr<MediaStreamAudioRenderer> delegate_; 127 const scoped_refptr<MediaStreamAudioRenderer> delegate_;
128 const scoped_refptr<webrtc::MediaStreamInterface> media_stream_; 128 const scoped_refptr<webrtc::MediaStreamInterface> media_stream_;
129 bool started_; 129 bool started_;
130 WebRtcAudioRenderer::PlayingState playing_state_; 130 WebRtcAudioRenderer::PlayingState playing_state_;
131 OnPlayStateChanged on_play_state_changed_; 131 OnPlayStateChanged on_play_state_changed_;
132 }; 132 };
133 133
134 // Returns either AudioParameters::NO_EFFECTS or AudioParameters::DUCKING
135 // depending on whether or not an input element is currently open with
136 // ducking enabled.
137 int GetCurrentDuckingFlag(int render_frame_id) {
138 RenderFrameImpl* const frame =
139 RenderFrameImpl::FromRoutingID(render_frame_id);
140 MediaStreamDispatcher* const dispatcher = frame ?
141 frame->GetMediaStreamDispatcher() : NULL;
142 if (dispatcher && dispatcher->IsAudioDuckingActive()) {
143 return media::AudioParameters::DUCKING;
144 }
145
146 return media::AudioParameters::NO_EFFECTS;
147 }
148
149 } // namespace 134 } // namespace
150 135
151 int WebRtcAudioRenderer::GetOptimalBufferSize(int sample_rate, 136 int WebRtcAudioRenderer::GetOptimalBufferSize(int sample_rate,
152 int hardware_buffer_size) { 137 int hardware_buffer_size) {
153 // Use native hardware buffer size as default. On Windows, we strive to open 138 // Use native hardware buffer size as default. On Windows, we strive to open
154 // up using this native hardware buffer size to achieve best 139 // up using this native hardware buffer size to achieve best
155 // possible performance and to ensure that no FIFO is needed on the browser 140 // possible performance and to ensure that no FIFO is needed on the browser
156 // side to match the client request. That is why there is no #if case for 141 // side to match the client request. That is why there is no #if case for
157 // Windows below. 142 // Windows below.
158 int frames_per_buffer = hardware_buffer_size; 143 int frames_per_buffer = hardware_buffer_size;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 session_id_(session_id), 178 session_id_(session_id),
194 signaling_thread_(signaling_thread), 179 signaling_thread_(signaling_thread),
195 media_stream_(media_stream), 180 media_stream_(media_stream),
196 source_(NULL), 181 source_(NULL),
197 play_ref_count_(0), 182 play_ref_count_(0),
198 start_ref_count_(0), 183 start_ref_count_(0),
199 audio_delay_milliseconds_(0), 184 audio_delay_milliseconds_(0),
200 fifo_delay_milliseconds_(0), 185 fifo_delay_milliseconds_(0),
201 sink_params_(media::AudioParameters::AUDIO_PCM_LOW_LATENCY, 186 sink_params_(media::AudioParameters::AUDIO_PCM_LOW_LATENCY,
202 media::CHANNEL_LAYOUT_STEREO, sample_rate, 16, 187 media::CHANNEL_LAYOUT_STEREO, sample_rate, 16,
203 frames_per_buffer, 188 frames_per_buffer, 0),
DaleCurtis 2015/08/27 16:23:34 Just delete, the 1-less constructor defaults this
tommi (sloooow) - chröme 2015/08/28 07:33:33 Done.
204 GetCurrentDuckingFlag(source_render_frame_id)),
205 render_callback_count_(0) { 189 render_callback_count_(0) {
206 WebRtcLogMessage(base::StringPrintf( 190 WebRtcLogMessage(base::StringPrintf(
207 "WAR::WAR. source_render_frame_id=%d" 191 "WAR::WAR. source_render_frame_id=%d"
208 ", session_id=%d, sample_rate=%d, frames_per_buffer=%d, effects=%i", 192 ", session_id=%d, sample_rate=%d, frames_per_buffer=%d, effects=%i",
209 source_render_frame_id, session_id, sample_rate, frames_per_buffer, 193 source_render_frame_id, session_id, sample_rate, frames_per_buffer,
210 sink_params_.effects())); 194 sink_params_.effects()));
211 } 195 }
212 196
213 WebRtcAudioRenderer::~WebRtcAudioRenderer() { 197 WebRtcAudioRenderer::~WebRtcAudioRenderer() {
214 DCHECK(thread_checker_.CalledOnValidThread()); 198 DCHECK(thread_checker_.CalledOnValidThread());
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after
569 if (RemovePlayingState(source, state)) 553 if (RemovePlayingState(source, state))
570 EnterPauseState(); 554 EnterPauseState();
571 } else if (AddPlayingState(source, state)) { 555 } else if (AddPlayingState(source, state)) {
572 EnterPlayState(); 556 EnterPlayState();
573 } 557 }
574 UpdateSourceVolume(source); 558 UpdateSourceVolume(source);
575 } 559 }
576 } 560 }
577 561
578 } // namespace content 562 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698