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

Unified Diff: content/renderer/media/audio_device.cc

Issue 8588030: Refactor the Get*Hardware* routines a bit. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 1 month 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: content/renderer/media/audio_device.cc
===================================================================
--- content/renderer/media/audio_device.cc (revision 110480)
+++ content/renderer/media/audio_device.cc (working copy)
@@ -14,6 +14,11 @@
#include "content/renderer/render_thread_impl.h"
#include "media/audio/audio_util.h"
+double AudioHardware::output_sample_rate_ = 0.0;
+double AudioHardware::input_sample_rate_ = 0.0;
+size_t AudioHardware::output_buffer_size_ = 0;
+
+
AudioDevice::AudioDevice(size_t buffer_size,
int channels,
double sample_rate,
@@ -234,24 +239,35 @@
}
}
-double AudioDevice::GetAudioHardwareSampleRate() {
- // Uses cached value if possible.
- static double hardware_sample_rate = 0;
- if (!hardware_sample_rate) {
+double AudioHardware::GetOutputSampleRate() {
+ if (!output_sample_rate_) {
RenderThreadImpl::current()->Send(
- new ViewHostMsg_GetHardwareSampleRate(&hardware_sample_rate));
+ new ViewHostMsg_GetHardwareSampleRate(&output_sample_rate_));
}
- return hardware_sample_rate;
+ return output_sample_rate_;
}
-size_t AudioDevice::GetAudioHardwareBufferSize() {
- // Uses cached value if possible.
- static uint32 buffer_size = 0;
+double AudioHardware::GetInputSampleRate() {
+ if (!input_sample_rate_) {
+ RenderThreadImpl::current()->Send(
+ new ViewHostMsg_GetHardwareInputSampleRate(&input_sample_rate_));
+ }
+ return input_sample_rate_;
+}
- if (!buffer_size) {
+size_t AudioHardware::GetOutputBufferSize() {
+ if (!output_buffer_size_) {
+ uint32 buffer_size = 0;
RenderThreadImpl::current()->Send(
new ViewHostMsg_GetHardwareBufferSize(&buffer_size));
+ output_buffer_size_ = buffer_size;
}
- return static_cast<size_t>(buffer_size);
+ return output_buffer_size_;
}
+
+void AudioHardware::ResetCache() {
+ output_sample_rate_ = 0.0;
+ input_sample_rate_ = 0.0;
+ output_buffer_size_ = 0;
+}

Powered by Google App Engine
This is Rietveld 408576698