Closed Bug 1479947 Opened 7 years ago Closed 7 years ago

CanvasRenderingContext2D.drawImage() doesn't work with video element as image source

Categories

(Core :: Graphics: Canvas2D, defect, P3)

61 Branch
All
Android
defect

Tracking

()

RESOLVED DUPLICATE of bug 1486659
Tracking Status
firefox61 --- affected
firefox62 --- affected
firefox63 --- affected

People

(Reporter: alistair, Unassigned)

Details

User Agent: Mozilla/5.0 (Android 8.1.0; Mobile; rv:61.0) Gecko/61.0 Firefox/61.0 Build ID: 20180621125625 Steps to reproduce: Attempt to copy video frames to canvas context using CanvasRenderingContext2D.drawImage() as in these examples http://html5doctor.com/video-canvas-magic/ Actual results: Canvas stays blank Expected results: Video frames copied to canvas
Status: UNCONFIRMED → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
Not a dupe.
Status: RESOLVED → REOPENED
Ever confirmed: true
Resolution: DUPLICATE → ---
This seems to be broken on every device I've tried.
Status: REOPENED → NEW
Component: General → Canvas: 2D
OS: Unspecified → Android
Product: Firefox for Android → Core
Hardware: Unspecified → All
Version: Firefox 61 → 61 Branch
Works fine on desktop, but I guess it is limited to Android. jnicol, are you able to reproduce with one of the demos, e.g.: http://html5doctor.com/demos/video-canvas-magic/demo2.html
Flags: needinfo?(jnicol)
Priority: -- → P3
Yeah, this is a known issue. The problem is that on android we decode the video frames in to a surfacetexture, which only allows one gl context to consume it at a time. But we need 2, one for reading the pixels for the canvas, and another for compositing. In e10s this is very hard (see Bug 1486659), because they are in different processes. For non-e10s this could be solvable, with perhaps a lock of some kind. But I don't know if we want to solve it differently for non-e10s than for e10s. Snorp?
Flags: needinfo?(jnicol) → needinfo?(snorp)
Yeah, I think I'm going to dup this to Bug 1486659 since it's essentially the same problem. I tried to use a lock allow us to detach the ST from the Compositor so we could solve this bug, but it didn't really work. We had corrupted images on some devices.
Status: NEW → RESOLVED
Closed: 7 years ago7 years ago
Flags: needinfo?(snorp)
QA Contact: lsalzman
Resolution: --- → DUPLICATE
QA Contact: lsalzman

Bug 1486659 has been closed fixed in firefox66 upwards, but the drawImage issue remains in firefox68 on my Pixel 2

You need to log in before you can comment on or make changes to this bug.