Index: media/audio/audio_output_controller.cc |
diff --git a/media/audio/audio_output_controller.cc b/media/audio/audio_output_controller.cc |
index c8a75b6c6d555697c9c8b9b988ff80baf1258277..ae879c2fdc106629d4d4b7b004f91fd79373de00 100644 |
--- a/media/audio/audio_output_controller.cc |
+++ b/media/audio/audio_output_controller.cc |
@@ -16,7 +16,6 @@ |
#include "base/threading/platform_thread.h" |
#include "base/time/time.h" |
#include "base/trace_event/trace_event.h" |
-#include "media/base/audio_timestamp_helper.h" |
using base::TimeDelta; |
@@ -175,7 +174,7 @@ |
return; |
// Ask for first packet. |
- sync_reader_->RequestMoreData(base::TimeDelta(), base::TimeTicks(), 0); |
+ sync_reader_->UpdatePendingBytes(0, 0); |
state_ = kPlaying; |
@@ -228,7 +227,7 @@ |
// Let the renderer know we've stopped. Necessary to let PPAPI clients know |
// audio has been shutdown. TODO(dalecurtis): This stinks. PPAPI should have |
// a better way to know when it should exit PPB_Audio_Shared::Run(). |
- sync_reader_->RequestMoreData(base::TimeDelta::Max(), base::TimeTicks(), 0); |
+ sync_reader_->UpdatePendingBytes(std::numeric_limits<uint32_t>::max(), 0); |
handler_->OnPaused(); |
} |
@@ -309,10 +308,12 @@ |
sync_reader_->Read(dest); |
+ const int total_bytes_delay = |
+ delay.InSecondsF() * params_.GetBytesPerSecond(); |
const int frames = dest->frames(); |
- delay += AudioTimestampHelper::FramesToTime(frames, params_.sample_rate()); |
- |
- sync_reader_->RequestMoreData(delay, delay_timestamp, prior_frames_skipped); |
+ sync_reader_->UpdatePendingBytes( |
+ total_bytes_delay + frames * params_.GetBytesPerFrame(), |
+ prior_frames_skipped); |
bool need_to_duplicate = false; |
{ |