When video is displaying black frames, I can see there are some web render errors ["Invalid ext-image"](https://searchfox.org/mozilla-central/rev/2d24d893669ad0fe8d76b0427b25369d35fcc19b/gfx/wr/webrender/src/renderer/mod.rs#3970). But after you switch video into Pip window, after a while, when video starts displaying correctly, that error would dismiss. By checking the code, the web render code calls [lock](https://searchfox.org/mozilla-central/rev/2d24d893669ad0fe8d76b0427b25369d35fcc19b/gfx/wr/webrender/src/renderer/mod.rs#3948) to get an external image, which seems related with this default [function](https://searchfox.org/mozilla-central/rev/2d24d893669ad0fe8d76b0427b25369d35fcc19b/gfx/webrender_bindings/RenderTextureHost.cpp#35-38). As `RenderDcompSurfaceTextureHost` didn't implement that function, calling that would result in an invalid type which causes showing that error. As playing the video in the PiP window won't trigger that error, my question is whether we have different code paths for displaying video in the element and displaying video in the PiP window? Should I implement `lock()` for `RenderDcompSurfaceTextureHost` as well? --- Satoro, I wonder if you know the answer of my question, do you have any thought about this issue? Thank you so much.
Bug 1804134 Comment 1 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
When video is displaying black frames, I can see there are some web render errors ["Invalid ext-image"](https://searchfox.org/mozilla-central/rev/2d24d893669ad0fe8d76b0427b25369d35fcc19b/gfx/wr/webrender/src/renderer/mod.rs#3970). But after you switch video into Pip window, after a while, when video starts displaying correctly, that error would dismiss. By checking the code, the web render code calls [lock](https://searchfox.org/mozilla-central/rev/2d24d893669ad0fe8d76b0427b25369d35fcc19b/gfx/wr/webrender/src/renderer/mod.rs#3948) to get an external image, which seems related with this default [function](https://searchfox.org/mozilla-central/rev/2d24d893669ad0fe8d76b0427b25369d35fcc19b/gfx/webrender_bindings/RenderTextureHost.cpp#35-38). As `RenderDcompSurfaceTextureHost` didn't implement that function, calling that would result in an invalid type which causes showing that error. As playing the video in the PiP window won't trigger that error, my question is whether we have different code paths for displaying video in the element and displaying video in the PiP window? Should I implement `lock()` for `RenderDcompSurfaceTextureHost` as well? --- Satoro, I wonder if you know the answer of my questions, do you have any thought about this issue? Thank you so much.