Chromium Code Reviews| Index: content/renderer/media/audio_renderer_impl.cc |
| =================================================================== |
| --- content/renderer/media/audio_renderer_impl.cc (revision 113847) |
| +++ content/renderer/media/audio_renderer_impl.cc (working copy) |
| @@ -192,14 +192,14 @@ |
| audio_device_->Pause(true); |
| } |
| -void AudioRendererImpl::Render(const std::vector<float*>& audio_data, |
| - size_t number_of_frames, |
| - size_t audio_delay_milliseconds) { |
| +size_t AudioRendererImpl::Render(const std::vector<float*>& audio_data, |
| + size_t number_of_frames, |
| + size_t audio_delay_milliseconds) { |
| if (stopped_ || GetPlaybackRate() == 0.0f) { |
| // Output silence if stopped. |
| for (size_t i = 0; i < audio_data.size(); ++i) |
| memset(audio_data[i], 0, sizeof(float) * number_of_frames); |
| - return; |
| + return 0; |
| } |
| // Adjust the playback delay. |
| @@ -227,6 +227,7 @@ |
| request_delay, |
| time_now >= earliest_end_time_); |
| DCHECK_LE(filled, buf_size); |
| + UpdateEarliestEndTime(filled, request_delay, time_now); |
| uint32 filled_frames = filled / bytes_per_frame; |
| @@ -243,7 +244,10 @@ |
| // If FillBuffer() didn't give us enough data then zero out the remainder. |
| if (filled_frames < number_of_frames) { |
| int frames_to_zero = number_of_frames - filled_frames; |
| - memset(audio_data[channel_index], 0, sizeof(float) * frames_to_zero); |
| + memset(audio_data[channel_index] + filled_frames, |
| + 0, |
| + sizeof(float) * frames_to_zero); |
|
no longer working on chromium
2011/12/16 12:21:13
Do we really need this?
in AudioSyncReader::Read()
enal1
2011/12/16 16:48:23
Yes, we probably do not need that, but I feel safe
|
| } |
| } |
| + return filled_frames; |
| } |