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,
|
||||
#[ignore_malloc_size_of = "servo_media"]
|
||||
audio_context_impl: Arc<Mutex<AudioContext>>,
|
||||
browsing_context_id: BrowsingContextId,
|
||||
/// https://webaudio.github.io/web-audio-api/#dom-baseaudiocontext-destination
|
||||
destination: MutNullableDom<AudioDestinationNode>,
|
||||
listener: MutNullableDom<AudioListener>,
|
||||
|
@ -125,6 +126,7 @@ impl BaseAudioContext {
|
|||
audio_context_impl: ServoMedia::get()
|
||||
.unwrap()
|
||||
.create_audio_context(&client_context_id, options.into()),
|
||||
browsing_context_id,
|
||||
destination: Default::default(),
|
||||
listener: 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 {
|
||||
fn from(options: BaseAudioContextOptions) -> Self {
|
||||
match options {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue