Closed Bug 1548629 Opened 5 months ago Closed 4 months ago

Intermittent dom/media/test/test_streams_element_capture.html | Got 0.2699319727891156, expected at least 0.27; gizmo-short.mp4-56 current time at end

Categories

(Core :: Audio/Video: Playback, defect, P5)

defect

Tracking

()

RESOLVED FIXED
mozilla69
Tracking Status
firefox-esr60 --- unaffected
firefox67 --- unaffected
firefox68 --- fixed
firefox69 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: pehrsons)

References

Details

(Keywords: intermittent-failure, regression)

Attachments

(2 files)

Filed by: rgurzau [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=244221707&repo=mozilla-central
Full log: https://queue.taskcluster.net/v1/task/Qfm7F-GRStOIvQfvegbxLA/runs/0/artifacts/public/logs/live_backing.log


17:05:49 INFO - TEST-INFO | started process screenshot
17:05:49 INFO - TEST-INFO | screenshot: exit 0
17:05:49 INFO - Buffered messages logged at 17:04:44
17:05:49 INFO - TEST-PASS | dom/media/test/test_streams_element_capture.html | A valid string reason is expected
17:05:49 INFO - TEST-PASS | dom/media/test/test_streams_element_capture.html | Reason cannot be empty
17:05:49 INFO - Buffered messages finished
17:05:49 INFO - TEST-UNEXPECTED-FAIL | dom/media/test/test_streams_element_capture.html | Got 0.2699319727891156, expected at least 0.27; gizmo-short.mp4-56 current time at end
17:05:49 INFO - SimpleTest.ok@SimpleTest/SimpleTest.js:275:18
17:05:49 INFO - isGreaterThanOrEqualEps@dom/media/test/test_streams_element_capture.html:23:3
17:05:49 INFO - checkEnded@dom/media/test/test_streams_element_capture.html:43:7
17:05:49 INFO - startTest/<@dom/media/test/test_streams_element_capture.html:65:17
17:05:49 INFO - TEST-PASS | dom/media/test/test_streams_element_capture.html | gizmo-short.mp4-56 checking readyState
17:05:49 INFO - TEST-PASS | dom/media/test/test_streams_element_capture.html | gizmo-short.mp4-56 checking playback has ended

This usually happens because our decoder produces less media data than what the metadata of the file says there should be. This is fine, and we carry some metadata in our test manifest to track how much data we're expected to see. I'll check how much we decode and if I'm right, also update the metadata.

Assignee: nobody → apehrson
Status: NEW → ASSIGNED

Right, the audio track of this file is 0.256s and the video track 0.267s. The capture taking 0.2699s then makes sense. I'll add 0.267 to the metadata of this file to fix this.

There's a bug in the capture code that makes the captured video for this file all black. As a side effect the last video frame is very short, making the captured video track shorter than the audio track. With the bug it only plays for 0.256s, which is probably long enough to become intermittent.

In addition to comment 4, this bug will need to be fixed too.

If we end up taking the gap branch of the if in the patch, and the media file
in the future from the point we branched at contains no gaps or overlaps, we'll
still end up taking the gap branch until the end. This is because it only
appends up to the start of the current frame, but not the frame itself. I.e.,
when the next frame gets processed, there's still a gap in appended data.

Depends on D32107

Pushed by pehrsons@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/47f5e197687d
Set contentDuration for gizmo-short.mp4. r=jya
https://hg.mozilla.org/integration/autoland/rev/ece177da4265
Separate logic for media data with gaps and overlaps. r=jya
Status: ASSIGNED → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla69

Comment on attachment 9066637 [details]
Bug 1548629 - Separate logic for media data with gaps and overlaps. r?jya

Beta/Release Uplift Approval Request

  • User impact if declined: Some videos may appear black when captured.
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Simple enough.
  • String changes made/needed:
Attachment #9066637 - Flags: approval-mozilla-beta?
Attachment #9066636 - Flags: approval-mozilla-beta?

(In reply to Andreas Pehrson [:pehrsons] from comment #10)

  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: No

I don't suppose there's a chance we could flip at least one of those to yes? :)

Flags: needinfo?(apehrson)

Let me try to work out a manual STR.

I've come up blank.

I caught this in RR in a mochitest so I'm sure it happened somewhere, but for the mochitest I was running I haven't been able to trigger this again. Whether it's been fixed by something else or not I don't know.

Flags: needinfo?(apehrson)

OK, thanks for trying.

Comment on attachment 9066636 [details]
Bug 1548629 - Set contentDuration for gizmo-short.mp4. r?jya

fix an issue with video capture, approved for beta68

Attachment #9066636 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Attachment #9066637 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
See Also: → 1557149
You need to log in before you can comment on or make changes to this bug.