aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/audiocontext.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/audiocontext.rs')
-rw-r--r--components/script/dom/audiocontext.rs15
1 files changed, 13 insertions, 2 deletions
diff --git a/components/script/dom/audiocontext.rs b/components/script/dom/audiocontext.rs
index 8f98586b3ea..2b6f04b421b 100644
--- a/components/script/dom/audiocontext.rs
+++ b/components/script/dom/audiocontext.rs
@@ -13,6 +13,7 @@ use crate::dom::bindings::codegen::Bindings::AudioContextBinding::{
};
use crate::dom::bindings::codegen::Bindings::BaseAudioContextBinding::AudioContextState;
use crate::dom::bindings::codegen::Bindings::BaseAudioContextBinding::BaseAudioContextBinding::BaseAudioContextMethods;
+use crate::dom::bindings::codegen::UnionTypes::AudioContextLatencyCategoryOrDouble;
use crate::dom::bindings::error::{Error, Fallible};
use crate::dom::bindings::inheritance::Castable;
use crate::dom::bindings::num::Finite;
@@ -48,7 +49,12 @@ impl AudioContext {
);
// Step 4.1.
- let latency_hint = options.latencyHint;
+ let latency_hint = match options.latencyHint {
+ AudioContextLatencyCategoryOrDouble::AudioContextLatencyCategory(category) => category,
+ AudioContextLatencyCategoryOrDouble::Double(_) => {
+ AudioContextLatencyCategory::Interactive
+ }, // TODO
+ };
// Step 4.2. The sample rate is set during the creation of the BaseAudioContext.
// servo-media takes care of setting the default sample rate of the output device
@@ -250,7 +256,12 @@ impl<'a> From<&'a AudioContextOptions> for RealTimeAudioContextOptions {
fn from(options: &AudioContextOptions) -> Self {
Self {
sample_rate: *options.sampleRate.unwrap_or(Finite::wrap(44100.)),
- latency_hint: options.latencyHint.into(),
+ latency_hint: match options.latencyHint {
+ AudioContextLatencyCategoryOrDouble::AudioContextLatencyCategory(category) => {
+ category.into()
+ },
+ AudioContextLatencyCategoryOrDouble::Double(_) => LatencyCategory::Interactive, // TODO
+ },
}
}
}