Index: third_party/WebKit/Source/platform/audio/AudioDestination.h |
diff --git a/third_party/WebKit/Source/platform/audio/AudioDestination.h b/third_party/WebKit/Source/platform/audio/AudioDestination.h |
index dda3527f57476e3697025958418f64c07573959d..ab2720b7304c7fda3e6f1503bf69117b85f4881d 100644 |
--- a/third_party/WebKit/Source/platform/audio/AudioDestination.h |
+++ b/third_party/WebKit/Source/platform/audio/AudioDestination.h |
@@ -45,6 +45,7 @@ namespace blink { |
class AudioFIFO; |
class AudioPullFIFO; |
class SecurityOrigin; |
+class WebAudioLatencyHint; |
// An AudioDestination using Chromium's audio system |
@@ -58,7 +59,7 @@ class PLATFORM_EXPORT AudioDestination : public WebAudioDevice::RenderCallback, |
const String& inputDeviceId, |
unsigned numberOfInputChannels, |
unsigned numberOfOutputChannels, |
- float sampleRate, |
+ const WebAudioLatencyHint&, |
PassRefPtr<SecurityOrigin>); |
~AudioDestination() override; |
@@ -70,14 +71,18 @@ class PLATFORM_EXPORT AudioDestination : public WebAudioDevice::RenderCallback, |
const String& inputDeviceId, |
unsigned numberOfInputChannels, |
unsigned numberOfOutputChannels, |
- float sampleRate, |
+ const WebAudioLatencyHint&, |
PassRefPtr<SecurityOrigin>); |
virtual void start(); |
virtual void stop(); |
bool isPlaying() { return m_isPlaying; } |
- float sampleRate() const { return m_sampleRate; } |
+ double sampleRate() const { return m_audioDevice->sampleRate(); } |
+ |
+ // Returns the audio buffer size in frames used by the underlying audio |
+ // hardware. |
+ int framesPerBuffer() const { return m_audioDevice->framesPerBuffer(); } |
// WebAudioDevice::RenderCallback |
void render(const WebVector<float*>& sourceData, |
@@ -102,7 +107,6 @@ class PLATFORM_EXPORT AudioDestination : public WebAudioDevice::RenderCallback, |
unsigned m_numberOfOutputChannels; |
RefPtr<AudioBus> m_inputBus; |
RefPtr<AudioBus> m_renderBus; |
- float m_sampleRate; |
bool m_isPlaying; |
std::unique_ptr<WebAudioDevice> m_audioDevice; |
size_t m_callbackBufferSize; |