diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs index e89389fd253..29f55999f7f 100644 --- a/components/script/dom/htmlmediaelement.rs +++ b/components/script/dom/htmlmediaelement.rs @@ -1611,17 +1611,19 @@ impl HTMLMediaElementMethods for HTMLMediaElement { if self.muted.get() == value { return; } + if let Some(ref player) = *self.player.borrow() { - self.muted.set(value); let _ = player.set_mute(value); - let window = window_from_node(self); - window - .task_manager() - .media_element_task_source() - .queue_simple_event(self.upcast(), atom!("volumechange"), &window); - if !self.is_allowed_to_play() { - self.internal_pause_steps(); - } + } + + self.muted.set(value); + let window = window_from_node(self); + window + .task_manager() + .media_element_task_source() + .queue_simple_event(self.upcast(), atom!("volumechange"), &window); + if !self.is_allowed_to_play() { + self.internal_pause_steps(); } }