Index: media/base/audio_latency.cc |
diff --git a/media/base/audio_latency.cc b/media/base/audio_latency.cc |
index 5d37edf415213ff72aeb6e9753927abf1dfb8894..96f6f7d92827cf25b0f2b3841188214e731532c8 100644 |
--- a/media/base/audio_latency.cc |
+++ b/media/base/audio_latency.cc |
@@ -10,6 +10,7 @@ |
#include "base/logging.h" |
#include "build/build_config.h" |
+#include "media/base/audio_parameters.h" |
namespace media { |
@@ -126,4 +127,12 @@ int AudioLatency::GetInteractiveBufferSize(int hardware_buffer_size) { |
return hardware_buffer_size; |
} |
+int AudioLatency::GetExactBufferSize(double duration, |
+ const AudioParameters& hardware_params) { |
+ return std::max( |
+ std::min(static_cast<int>(duration * hardware_params.sample_rate()), |
+ GetHighLatencyBufferSize(hardware_params.sample_rate(), 0)), |
+ static_cast<int>(hardware_params.frames_per_buffer())); |
+} |
+ |
} // namespace media |