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

Unified Diff: third_party/WebKit/Source/modules/webaudio/BaseAudioContext.h

Issue 2501863003: Support for AudioContextOptions latencyHint. (Closed)
Patch Set: Add baseLatency and fix use of hardwareSampleRate. Created 4 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: third_party/WebKit/Source/modules/webaudio/BaseAudioContext.h
diff --git a/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.h b/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.h
index 028ff3e9bb670b6388e9f3fdcf543aca528f0304..c6c9b15e61b4c09f00e02111aa7453abb85d3b76 100644
--- a/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.h
+++ b/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.h
@@ -80,6 +80,7 @@ class ScriptState;
class SecurityOrigin;
class StereoPannerNode;
class WaveShaperNode;
+class WebAudioLatencyHint;
// BaseAudioContext is the cornerstone of the web audio API and all AudioNodes
// are created from it. For thread safety between the audio thread and the main
@@ -100,7 +101,9 @@ class MODULES_EXPORT BaseAudioContext : public EventTargetWithInlineData,
enum AudioContextState { Suspended, Running, Closed };
// Create an AudioContext for rendering to the audio hardware.
- static BaseAudioContext* create(Document&, ExceptionState&);
+ static BaseAudioContext* create(Document&,
+ const WebAudioLatencyHint&,
+ ExceptionState&);
~BaseAudioContext() override;
@@ -137,10 +140,19 @@ class MODULES_EXPORT BaseAudioContext : public EventTargetWithInlineData,
}
float sampleRate() const {
- return m_destinationNode ? m_destinationNode->handler().sampleRate() : 0;
+ return m_destinationNode
+ ? m_destinationNode->audioDestinationHandler().sampleRate()
+ : 0;
+ }
+
+ float framesPerBuffer() const {
+ return m_destinationNode
+ ? m_destinationNode->audioDestinationHandler().framesPerBuffer()
+ : 0;
}
String state() const;
+ double baseLatency() const;
AudioContextState contextState() const { return m_contextState; }
void throwExceptionForClosedState(ExceptionState&);
@@ -305,7 +317,7 @@ class MODULES_EXPORT BaseAudioContext : public EventTargetWithInlineData,
void maybeRecordStartAttempt();
protected:
- explicit BaseAudioContext(Document*);
+ explicit BaseAudioContext(Document*, const WebAudioLatencyHint&);
BaseAudioContext(Document*,
unsigned numberOfChannels,
size_t numberOfFrames,

Powered by Google App Engine
This is Rietveld 408576698