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

Unified Diff: media/audio/audio_device_thread.cc

Issue 1687213002: Express audio delay more precisely in frames rather than milliseconds. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 10 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
« no previous file with comments | « media/audio/audio_device_thread.h ('k') | media/audio/audio_input_device.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/audio/audio_device_thread.cc
diff --git a/media/audio/audio_device_thread.cc b/media/audio/audio_device_thread.cc
index f4e00d4af22b0d71dd7e6bbd82fb26ebba20b323..20874599e68f5f7cfddeff0022291e64aa718b6c 100644
--- a/media/audio/audio_device_thread.cc
+++ b/media/audio/audio_device_thread.cc
@@ -210,21 +210,23 @@ void AudioDeviceThread::Thread::Run() {
// AudioDeviceThread::Callback implementation
-AudioDeviceThread::Callback::Callback(
- const AudioParameters& audio_parameters,
- base::SharedMemoryHandle memory,
- int memory_length,
- int total_segments)
+AudioDeviceThread::Callback::Callback(const AudioParameters& audio_parameters,
+ base::SharedMemoryHandle memory,
+ int memory_length,
+ int total_segments)
: audio_parameters_(audio_parameters),
- samples_per_ms_(audio_parameters.sample_rate() / 1000),
+ samples_per_ms_(static_cast<double>(audio_parameters.sample_rate()) /
+ base::Time::kMillisecondsPerSecond),
bytes_per_ms_(audio_parameters.channels() *
(audio_parameters_.bits_per_sample() / 8) *
samples_per_ms_),
+ bytes_per_frame_(audio_parameters.GetBytesPerFrame()),
shared_memory_(memory, false),
memory_length_(memory_length),
total_segments_(total_segments) {
- CHECK_NE(bytes_per_ms_, 0); // Catch division by zero early.
- CHECK_NE(samples_per_ms_, 0);
+ CHECK_NE(bytes_per_ms_, 0.0); // Catch division by zero early.
+ CHECK_NE(samples_per_ms_, 0.0);
+ CHECK_NE(bytes_per_frame_, 0u);
CHECK_GT(total_segments_, 0);
CHECK_EQ(memory_length_ % total_segments_, 0);
segment_length_ = memory_length_ / total_segments_;
« no previous file with comments | « media/audio/audio_device_thread.h ('k') | media/audio/audio_input_device.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698