aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmlmediaelement.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/htmlmediaelement.rs')
-rw-r--r--components/script/dom/htmlmediaelement.rs16
1 files changed, 3 insertions, 13 deletions
diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs
index 690dd928f45..a1ab6d08e68 100644
--- a/components/script/dom/htmlmediaelement.rs
+++ b/components/script/dom/htmlmediaelement.rs
@@ -71,7 +71,6 @@ use net_traits::{CoreResourceMsg, FetchChannels, FetchMetadata, FetchResponseLis
use net_traits::{NetworkError, ResourceFetchTiming, ResourceTimingType};
use script_layout_interface::HTMLMediaData;
use servo_config::pref;
-use servo_media::player::context::{GlContext, NativeDisplay, PlayerGLContext};
use servo_media::player::frame::{Frame, FrameRenderer};
use servo_media::player::{PlaybackState, Player, PlayerError, PlayerEvent, StreamType};
use servo_media::{ServoMedia, SupportsMediaType};
@@ -162,16 +161,6 @@ impl FrameRenderer for MediaFrameRenderer {
}
}
-struct PlayerContextDummy();
-impl PlayerGLContext for PlayerContextDummy {
- fn get_gl_context(&self) -> GlContext {
- return GlContext::Unknown;
- }
- fn get_native_display(&self) -> NativeDisplay {
- return NativeDisplay::Unknown;
- }
-}
-
#[must_root]
#[derive(JSTraceable, MallocSizeOf)]
enum SrcObject {
@@ -1222,22 +1211,23 @@ impl HTMLMediaElement {
_ => StreamType::Seekable,
};
+ let window = window_from_node(self);
let (action_sender, action_receiver) = ipc::channel().unwrap();
let renderer: Option<Arc<Mutex<dyn FrameRenderer>>> = match self.media_type_id() {
HTMLMediaElementTypeId::HTMLAudioElement => None,
HTMLMediaElementTypeId::HTMLVideoElement => Some(self.frame_renderer.clone()),
};
+
let player = ServoMedia::get().unwrap().create_player(
stream_type,
action_sender,
renderer,
- Box::new(PlayerContextDummy()),
+ Box::new(window.get_player_context()),
);
*self.player.borrow_mut() = Some(player);
let trusted_node = Trusted::new(self);
- let window = window_from_node(self);
let (task_source, canceller) = window
.task_manager()
.media_element_task_source_with_canceller();