Closed Bug 787812 Opened 12 years ago Closed 12 years ago

Unable to copy video frames from Camera to Canvas

Categories

(Firefox OS Graveyard :: General, defect)

ARM
Gonk (Firefox OS)
defect
Not set
major

Tracking

(blocking-basecamp:-, firefox19 fixed, b2g18+ fixed, b2g18-v1.0.0 wontfix, b2g18-v1.0.1 wontfix)

RESOLVED FIXED
B2G C3 (12dec-1jan)
blocking-basecamp -
Tracking Status
firefox19 --- fixed
b2g18 + fixed
b2g18-v1.0.0 --- wontfix
b2g18-v1.0.1 --- wontfix

People

(Reporter: gerard-majax, Assigned: gerard-majax)

References

Details

Attachments

(1 file, 1 obsolete file)

Trying to make a Gaia app that performs roughly what's described in https://developer.mozilla.org/en-US/docs/Manipulating_video_using_canvas, I'm getting this JavaScript error: JavaScript Error: "NS_ERROR_NOT_AVAILABLE: Component is not available" Right when performing the ctx1.drawImage() call. If my <video> is fed from a local file, not the Nexus S camera, then it works.
Maybe a dupe of bug 778682 ?
(In reply to Alexandre LISSY from comment #1) > Maybe a dupe of bug 778682 ? Possibly, although that's related to WebRTC MediaStreams. Is this a problem in the general case? Mike - Thoughts?
blocking-basecamp: --- → ?
(In reply to Jason Smith [:jsmith] from comment #2) > (In reply to Alexandre LISSY from comment #1) > > Maybe a dupe of bug 778682 ? > > Possibly, although that's related to WebRTC MediaStreams. Is this a problem > in the general case? Mike - Thoughts? Sorry, jsmith--this is outside my realm of knowledge.
Jonas suggests this isn't a common enough use case to block basecamp. As always, if someone disagrees, please re-nom.
blocking-basecamp: ? → -
Depends on: 794061
Since the blocker landed, I'll retest as soon as my gecko is rebuilt.
My gecko has commit cc33c225c154762e4a036ead13957ffdad4461cb, which is bug 794061, but I'm still getting the issue :( This is on a Nexus S, if it has a link somehow ...
bug 794061 only add support of qualcomm's some color formats. Nexus S uses Samsung Exynos processor, it seem that it is necessary to add color format support for Exynos. But I do not know about Exynos... http://en.wikipedia.org/wiki/Nexus_S
I've been able to successfully add the missing bits for GonkIOSurfaceImage to be able to convert a frame: adding printf_stderr() debug, I can reach the 'return imageSurface.forget()' statement. This is the (trivial) patch attached. However I'm still getting an error "NS_ERROR_NOT_AVAILABLE: Component is not available".
Attachment #673675 - Flags: review?
Comment on attachment 673675 [details] [diff] [review] Making Nexus S video frame copiable. Trying cjones for review
Attachment #673675 - Flags: review? → review?(jones.chris.g)
Comment on attachment 673675 [details] [diff] [review] Making Nexus S video frame copiable. Sorry, this got lost in a tab earlier today :(. We don't need the comment here, you can drop that. Looks fine to me, but I'd like Kan-Ru to take a look.
Attachment #673675 - Flags: review?(kchen)
Attachment #673675 - Flags: review?(jones.chris.g)
Attachment #673675 - Flags: feedback+
Attachment #673675 - Flags: review?(kchen) → review+
Removing comments, as suggested.
Attachment #673675 - Attachment is obsolete: true
Attachment #676944 - Flags: review+
Assignee: nobody → lissyx+mozillians
Flags: in-testsuite-
Keywords: checkin-needed
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
This is not fixed, even if the patch adding colors for Nexus S was needed.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
(In reply to Alexandre LISSY :gerard-majax from comment #14) > This is not fixed, even if the patch adding colors for Nexus S was needed. Please file a followup bug and link it as a dependency.
Status: REOPENED → RESOLVED
Closed: 12 years ago12 years ago
Resolution: --- → FIXED
Depends on: 832745
No longer depends on: 794061
Depends on: 794061
No longer depends on: 832745
After ensuring this patch is here, and with bug 832745, I still have endianess isues when copying the frame to canvas: red and blue are inverted (on Nexus S at least).
Depends on: 832745
Can someone explain me why the fix that has been landed does not appear in b2g-18 ? It landed before the branch got created.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Fixing flags. Set the status flags when this happens...
Status: REOPENED → RESOLVED
Closed: 12 years ago12 years ago
Resolution: --- → FIXED
b2g18 was branched in the first week of October IIRC. AFAICT, this never had bb+ or approval to uplift and hence never was. At this point, you'll need to request approval for uplift to the affected branches.
Okay, thanks for this clarification, I was convinced branching got performed much more later, and I have of knowledge of those processes. I'll see with paul and julien, regarding bug 832745, since this bug might be a blocker.
I'm sorry, I wasn't very clear in my last reply. b2g18 was branched off mozilla-beta last month, however, Gecko 18 was branched off m-c to aurora in October, which is when additional uplifting would have begun. Since this landed on m-c in November, it landed on what is now Gecko 19 and never got uplifted to an 18 branch.
Depends on: 839981
Blocks: 839981
No longer depends on: 839981
Batch edit: Bugs still affected on b2g18 after 2/13 merge to v1.0.1 branch are affected on v1.0.1 branch.
Comment on attachment 676944 [details] [diff] [review] Patch ready to be checked in This is a very low risk patch as this only introduces a new mapping.
Attachment #676944 - Flags: approval-mozilla-b2g18?
tracking-b2g18: --- → +
Attachment #676944 - Flags: approval-mozilla-b2g18? → approval-mozilla-b2g18+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: