Closed Bug 1670515 Opened 4 years ago Closed 4 years ago

Assertion in VideoFrameConverter

Categories

(Core :: WebRTC: Audio/Video, defect)

defect

Tracking

()

RESOLVED FIXED
83 Branch
Tracking Status
firefox83 --- fixed

People

(Reporter: jya, Assigned: jya)

References

(Regression)

Details

(Keywords: regression)

Attachments

(1 file)

Seen on try: https://treeherder.mozilla.org/logviewer.html#?job_id=318315865&repo=try when we disable the h264 HW decoder.

Assertion failure: false (MOZ_ASSERT_UNREACHABLE: YUV format conversion not implemented), at /builds/worker/checkouts/gecko/dom/media/ImageToI420.cpp:109

The code in ImageUtils make assumptions that the Cb plane is found before the Cr plane in memory, with IMF images apparently this isn't the case, leading to the failure.

https://searchfox.org/mozilla-central/rev/c2e3ac11be4837718c2604e58085fbc8252b69dd/dom/canvas/ImageUtils.cpp#54-73

The Cb plane doesn't have to be located after the Cr plane in memory, there are referred via pointers, all it matters is that they don't overlap.

Note that none of those extra tests serve much purpose, none of your code can generated a 3 planes YUV image where the skip value wouldn't be 0.

However, not knowing how that code is called and if it's still in use today, taking the safer approach of just fixing the existing test.

Assignee: nobody → jyavenard
Status: NEW → ASSIGNED
Pushed by jyavenard@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6d291752989c Don't assume memory position of planes. r=mattwoodrow
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 83 Branch
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: