mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
AudioContext shutdown
This commit is contained in:
parent
8e0160fa71
commit
7ff47365ed
1 changed files with 14 additions and 0 deletions
|
@ -81,6 +81,7 @@ pub struct BaseAudioContext {
|
||||||
eventtarget: EventTarget,
|
eventtarget: EventTarget,
|
||||||
#[ignore_malloc_size_of = "servo_media"]
|
#[ignore_malloc_size_of = "servo_media"]
|
||||||
audio_context_impl: Arc<Mutex<AudioContext>>,
|
audio_context_impl: Arc<Mutex<AudioContext>>,
|
||||||
|
browsing_context_id: BrowsingContextId,
|
||||||
/// https://webaudio.github.io/web-audio-api/#dom-baseaudiocontext-destination
|
/// https://webaudio.github.io/web-audio-api/#dom-baseaudiocontext-destination
|
||||||
destination: MutNullableDom<AudioDestinationNode>,
|
destination: MutNullableDom<AudioDestinationNode>,
|
||||||
listener: MutNullableDom<AudioListener>,
|
listener: MutNullableDom<AudioListener>,
|
||||||
|
@ -125,6 +126,7 @@ impl BaseAudioContext {
|
||||||
audio_context_impl: ServoMedia::get()
|
audio_context_impl: ServoMedia::get()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.create_audio_context(&client_context_id, options.into()),
|
.create_audio_context(&client_context_id, options.into()),
|
||||||
|
browsing_context_id,
|
||||||
destination: Default::default(),
|
destination: Default::default(),
|
||||||
listener: Default::default(),
|
listener: Default::default(),
|
||||||
in_flight_resume_promises_queue: Default::default(),
|
in_flight_resume_promises_queue: Default::default(),
|
||||||
|
@ -542,6 +544,18 @@ impl BaseAudioContextMethods for BaseAudioContext {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl Drop for BaseAudioContext {
|
||||||
|
fn drop(&mut self) {
|
||||||
|
let client_context_id = ClientContextId::build(
|
||||||
|
self.browsing_context_id.namespace_id.0,
|
||||||
|
self.browsing_context_id.index.0.get(),
|
||||||
|
);
|
||||||
|
ServoMedia::get()
|
||||||
|
.unwrap()
|
||||||
|
.shutdown_audio_context(&client_context_id, self.audio_context_impl.clone());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl From<BaseAudioContextOptions> for AudioContextOptions {
|
impl From<BaseAudioContextOptions> for AudioContextOptions {
|
||||||
fn from(options: BaseAudioContextOptions) -> Self {
|
fn from(options: BaseAudioContextOptions) -> Self {
|
||||||
match options {
|
match options {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue