From 89dc0119f00c4dff5a14f0096f4dcc9c19027b6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Jim=C3=A9nez=20Moreno?= Date: Tue, 2 Jul 2019 13:19:02 +0200 Subject: [PATCH] Do not use WR external images if frames are not textures --- components/script/dom/htmlmediaelement.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs index 1d7dfebd832..690692a2481 100644 --- a/components/script/dom/htmlmediaelement.rs +++ b/components/script/dom/htmlmediaelement.rs @@ -207,12 +207,12 @@ impl FrameRenderer for MediaFrameRenderer { *width = frame.get_width(); *height = frame.get_height(); - let image_data = if let Some(player_id) = self.player_id { + let image_data = if frame.is_gl_texture() && self.player_id.is_some() { self.current_frame_holder .get_or_insert_with(|| FrameHolder::new(frame.clone())) .set(frame); ImageData::External(ExternalImageData { - id: ExternalImageId(player_id), + id: ExternalImageId(self.player_id.unwrap()), channel_index: 0, image_type: ExternalImageType::TextureHandle(TextureTarget::Default), }) @@ -225,10 +225,10 @@ impl FrameRenderer for MediaFrameRenderer { let image_key = self.api.generate_image_key(); self.current_frame = Some((image_key, frame.get_width(), frame.get_height())); - let image_data = if let Some(player_id) = self.player_id { + let image_data = if frame.is_gl_texture() && self.player_id.is_some() { self.current_frame_holder = Some(FrameHolder::new(frame)); ImageData::External(ExternalImageData { - id: ExternalImageId(player_id), + id: ExternalImageId(self.player_id.unwrap()), channel_index: 0, image_type: ExternalImageType::TextureHandle(TextureTarget::Default), })