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

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

Issue 37793005: move the APM to chrome. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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 | Annotate | Revision Log
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_local_audio_source_provider.h" 5 #include "content/renderer/media/webrtc_local_audio_source_provider.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "content/renderer/render_thread_impl.h" 8 #include "content/renderer/render_thread_impl.h"
9 #include "media/audio/audio_parameters.h" 9 #include "media/audio/audio_parameters.h"
10 #include "media/base/audio_fifo.h" 10 #include "media/base/audio_fifo.h"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 // the converter. 61 // the converter.
62 audio_converter_.reset( 62 audio_converter_.reset(
63 new media::AudioConverter(source_params, sink_params_, false)); 63 new media::AudioConverter(source_params, sink_params_, false));
64 audio_converter_->AddInput(this); 64 audio_converter_->AddInput(this);
65 fifo_.reset(new media::AudioFifo( 65 fifo_.reset(new media::AudioFifo(
66 source_params.channels(), 66 source_params.channels(),
67 kMaxNumberOfBuffers * source_params.frames_per_buffer())); 67 kMaxNumberOfBuffers * source_params.frames_per_buffer()));
68 } 68 }
69 69
70 void WebRtcLocalAudioSourceProvider::DeliverData( 70 void WebRtcLocalAudioSourceProvider::DeliverData(
71 media::AudioBus* audio_source, 71 const int16* data,
72 int audio_delay_milliseconds, 72 int sample_rate,
73 int volume, 73 int number_of_channels,
74 bool key_pressed) { 74 int number_of_frames) {
75 base::AutoLock auto_lock(lock_); 75 base::AutoLock auto_lock(lock_);
76 if (!is_enabled_) 76 if (!is_enabled_)
77 return; 77 return;
78 78
79 DCHECK(fifo_.get()); 79 DCHECK(fifo_.get());
80 80 // TODO(xians): FIXME.
81 /*
81 if (fifo_->frames() + audio_source->frames() <= fifo_->max_frames()) { 82 if (fifo_->frames() + audio_source->frames() <= fifo_->max_frames()) {
82 fifo_->Push(audio_source); 83 fifo_->Push(audio_source);
83 } else { 84 } else {
84 // This can happen if the data in FIFO is too slowed to be consumed or 85 // This can happen if the data in FIFO is too slowed to be consumed or
85 // WebAudio stops consuming data. 86 // WebAudio stops consuming data.
86 DLOG(WARNING) << "Local source provicer FIFO is full" << fifo_->frames(); 87 DLOG(WARNING) << "Local source provicer FIFO is full" << fifo_->frames();
87 } 88 }
88 89
89 // Cache the values for GetAudioProcessingParams(). 90 // Cache the values for GetAudioProcessingParams().
90 last_fill_ = base::TimeTicks::Now(); 91 last_fill_ = base::TimeTicks::Now();
91 audio_delay_ms_ = audio_delay_milliseconds; 92 audio_delay_ms_ = audio_delay_milliseconds;
92 volume_ = volume; 93 volume_ = volume;
93 key_pressed_ = key_pressed; 94 key_pressed_ = key_pressed;*/
94 } 95 }
95 96
96 void WebRtcLocalAudioSourceProvider::GetAudioProcessingParams( 97 void WebRtcLocalAudioSourceProvider::GetAudioProcessingParams(
97 int* delay_ms, int* volume, bool* key_pressed) { 98 int* delay_ms, int* volume, bool* key_pressed) {
98 int elapsed_ms = 0; 99 int elapsed_ms = 0;
99 if (!last_fill_.is_null()) { 100 if (!last_fill_.is_null()) {
100 elapsed_ms = static_cast<int>( 101 elapsed_ms = static_cast<int>(
101 (base::TimeTicks::Now() - last_fill_).InMilliseconds()); 102 (base::TimeTicks::Now() - last_fill_).InMilliseconds());
102 } 103 }
103 *delay_ms = audio_delay_ms_ + elapsed_ms + static_cast<int>( 104 *delay_ms = audio_delay_ms_ + elapsed_ms + static_cast<int>(
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 return 1.0; 147 return 1.0;
147 } 148 }
148 149
149 void WebRtcLocalAudioSourceProvider::SetSinkParamsForTesting( 150 void WebRtcLocalAudioSourceProvider::SetSinkParamsForTesting(
150 const media::AudioParameters& sink_params) { 151 const media::AudioParameters& sink_params) {
151 DCHECK(thread_checker_.CalledOnValidThread()); 152 DCHECK(thread_checker_.CalledOnValidThread());
152 sink_params_ = sink_params; 153 sink_params_ = sink_params;
153 } 154 }
154 155
155 } // namespace content 156 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698