Index: content/renderer/media/media_stream_audio_processor.cc |
diff --git a/content/renderer/media/media_stream_audio_processor.cc b/content/renderer/media/media_stream_audio_processor.cc |
index 460ab8baf4e653d6418f99735d229ab97cddd6b6..2c64d936c8c95a959a6f0a7bb8b8e63fb714aaa9 100644 |
--- a/content/renderer/media/media_stream_audio_processor.cc |
+++ b/content/renderer/media/media_stream_audio_processor.cc |
@@ -70,6 +70,13 @@ class MediaStreamAudioProcessor::MediaStreamAudioConverter |
int buffer_size = std::max( |
kMaxNumberOfBuffersInFifo * source_params_.frames_per_buffer(), |
kMaxNumberOfBuffersInFifo * sink_params_.frames_per_buffer()); |
+ |
+ // Also, FIFO needs to have enough space to store pre-processed data |
henrika (OOO until Aug 14)
2014/06/02 08:23:41
Is it possible to set the buffer size once only an
no longer working on chromium
2014/06/02 09:15:08
Yes, I added a max_frame_size as a temp variable t
|
+ // before passing the data to webrtc::AudioProcessing, which requires 10ms |
+ // as packet size. |
+ buffer_size = std::max( |
+ buffer_size, |
+ kMaxNumberOfBuffersInFifo * source_params_.sample_rate() / 100); |
fifo_.reset(new media::AudioFifo(source_params_.channels(), buffer_size)); |
// TODO(xians): Use CreateWrapper to save one memcpy. |
audio_wrapper_ = media::AudioBus::Create(sink_params_.channels(), |