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

Unified Diff: media/audio/win/waveout_output_win.cc

Issue 2101303004: Pass delay and timestamp to AudioSourceCallback::OnMoreData. (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Fix Mac CQ errors. Created 4 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 side-by-side diff with in-line comments
Download patch
Index: media/audio/win/waveout_output_win.cc
diff --git a/media/audio/win/waveout_output_win.cc b/media/audio/win/waveout_output_win.cc
index 3ac72ed99be54eefbd274c4d91fd5c67f8ec60cf..5b294c433db5e9da8b576a6dd2828d25f0b882ca 100644
--- a/media/audio/win/waveout_output_win.cc
+++ b/media/audio/win/waveout_output_win.cc
@@ -6,6 +6,7 @@
#include "base/atomicops.h"
#include "base/logging.h"
+#include "base/time/time.h"
#include "base/trace_event/trace_event.h"
#include "media/audio/audio_io.h"
#include "media/audio/win/audio_manager_win.h"
@@ -322,10 +323,12 @@ void PCMWaveOutAudioOutputStream::QueueNextPacket(WAVEHDR *buffer) {
// return to us how many bytes were used.
// TODO(fbarchard): Handle used 0 by queueing more.
- // TODO(sergeyu): Specify correct hardware delay for |total_delay_bytes|.
- uint32_t total_delay_bytes = pending_bytes_;
+ // TODO(sergeyu): Specify correct hardware delay for |delay|.
+ const base::TimeDelta delay = base::TimeDelta::FromMicroseconds(
+ pending_bytes_ * base::Time::kMicrosecondsPerSecond /
+ format_.Format.nAvgBytesPerSec);
int frames_filled =
- callback_->OnMoreData(audio_bus_.get(), total_delay_bytes, 0);
+ callback_->OnMoreData(delay, base::TimeTicks::Now(), 0, audio_bus_.get());
uint32_t used = frames_filled * audio_bus_->channels() *
format_.Format.wBitsPerSample / 8;

Powered by Google App Engine
This is Rietveld 408576698