Intermittent dom/media/test/test_streams_individual_pause.html | video1 video frame should not have updated since video1 paused - got "r0g0b0a0", expected "r0g255b0a255"
Categories
(Core :: WebRTC: Audio/Video, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox69 | --- | fixed |
People
(Reporter: intermittent-bug-filer, Assigned: pehrsons)
References
Details
(Keywords: dev-doc-needed, intermittent-failure)
Attachments
(11 files)
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details |
Updated•8 years ago
|
Assignee | ||
Comment 1•8 years ago
|
||
Assignee | ||
Comment 2•8 years ago
|
||
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 9•7 years ago
|
||
Updated•7 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment 11•7 years ago
|
||
Comment 12•7 years ago
|
||
Updated•7 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment 14•6 years ago
|
||
Comment 15•6 years ago
|
||
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Comment 19•6 years ago
|
||
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Comment 20•6 years ago
|
||
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Comment 23•6 years ago
|
||
Assignee | ||
Comment 24•6 years ago
|
||
Assignee | ||
Comment 25•6 years ago
|
||
Assignee | ||
Comment 26•6 years ago
|
||
Comment 27•6 years ago
|
||
Comment 28•6 years ago
|
||
bugherder |
Comment hidden (Intermittent Failures Robot) |
Updated•6 years ago
|
Assignee | ||
Comment 30•6 years ago
|
||
Comment 31•6 years ago
|
||
Assignee | ||
Comment 32•6 years ago
|
||
Assignee | ||
Comment 33•6 years ago
|
||
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Comment 35•5 years ago
|
||
The spec issue seems clear -- we should display the first frame even when paused. This will lead to the jump once playing starts, but that's all right. We should be able to align the MediaStream handling in HTMLMediaElement more to that of playback with this change.
Adding dev-doc-needed because this will be a very observable change.
Assignee | ||
Comment 37•5 years ago
|
||
Assignee | ||
Comment 38•5 years ago
|
||
Depends on D33289
Assignee | ||
Comment 39•5 years ago
|
||
Depends on D33290
Assignee | ||
Comment 40•5 years ago
|
||
This allows it to intercept frames in the rendering pipe, so that we don't have
to duplicate the logic for converting VideoChunks to NonOwningImages.
Depends on D33291
Assignee | ||
Comment 41•5 years ago
|
||
Depends on D33292
Assignee | ||
Comment 42•5 years ago
|
||
With the extra first-frame-logic in HTMLMediaElement there are two VideoOutput
instances feeding frames to the same ImageContainer. To maintain FrameID
invariants these need to have unique ProducerIDs.
Depends on D33293
Assignee | ||
Comment 43•5 years ago
|
||
Unsetting a playing video element's MediaStream-srcObject attribute will
otherwise leave the element displaying the latest frame of the video track.
Depends on D33294
Assignee | ||
Comment 44•5 years ago
|
||
Depends on D33295
Assignee | ||
Comment 45•5 years ago
|
||
Depends on D33296
Assignee | ||
Comment 46•5 years ago
|
||
Depends on D33297
Assignee | ||
Comment 47•5 years ago
|
||
Updated•5 years ago
|
Updated•5 years ago
|
Assignee | ||
Comment 48•5 years ago
|
||
dev-doc-info |
Note that what needs a dev-doc here is that loading a MediaStream in a HTMLMediaElement is now spec-compliant.
The change that makes it so is that we now load a video frame automatically after assigning a MediaStream with a video MediaStreamTrack to the srcObject attribute. Previously we wouldn't load a frame until the element was playing.
Js-observable changes here are most notably that there are a bunch of new events fired on a HTMLMediaElement that does not have the autoplay
attribute set to true
, and whose play()
method isn't called; including "loadedmetadata", "loadeddata", "canplay" and "canplaythrough". This means that the readyState
attribute will also automatically advance to HAVE_ENOUGH_DATA
once a frame is available.
User-visible changes are most notably that the media element will load the first video frame of the selected video track (NB in case of multiple video tracks, selected here is just internal) and display it as a still frame until the application calls play()
or sets the autoplay
attribute to true
.
Comment 49•5 years ago
|
||
Assignee | ||
Comment 52•5 years ago
|
||
(In reply to Web Platform Test Sync Bot from comment #51)
Can't merge web-platform-tests PR due to failing upstream checks:
Github PR https://github.com/web-platform-tests/wpt/pull/17254
- Taskcluster (pull_request)
(https://tools.taskcluster.net/task-group-inspector/#/dEeqwZhBSS29KeY2hTM7vQ)
Why would it try to verify the added WPT tests on current Nightly when there are also pending platform changes...?
Comment 53•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/5b2a3e5bd246
https://hg.mozilla.org/mozilla-central/rev/bd60d9099b47
https://hg.mozilla.org/mozilla-central/rev/32c521c1b373
https://hg.mozilla.org/mozilla-central/rev/c1473d84bdec
https://hg.mozilla.org/mozilla-central/rev/e13f35cff432
https://hg.mozilla.org/mozilla-central/rev/143bc31d3d70
https://hg.mozilla.org/mozilla-central/rev/d83d0d34de2a
https://hg.mozilla.org/mozilla-central/rev/f03b1a7c02ab
https://hg.mozilla.org/mozilla-central/rev/375a2a438161
https://hg.mozilla.org/mozilla-central/rev/0ff338ed7e92
Comment 54•5 years ago
|
||
Why would it try to verify the added WPT tests on current Nightly when there are also pending platform changes...?
Because the system isn't nearly clever enough to know when test changes are accompanied by platform changes that mean the stability checks ought to be deferred until some future revision is available.
I can force-merge the PR.
Assignee | ||
Comment 56•5 years ago
|
||
(In reply to James Graham [:jgraham] from comment #54)
Why would it try to verify the added WPT tests on current Nightly when there are also pending platform changes...?
Because the system isn't nearly clever enough to know when test changes are accompanied by platform changes that mean the stability checks ought to be deferred until some future revision is available.
I can force-merge the PR.
Ok, thanks!
What revision does it use for the tests? In case I were to try to work around this by postponing the landing of just the WPT changes.
And is there a tracking bug for making it clever enough to figure this out? It feels like it will be quite frequent, at least in my regular workflow.
Comment 57•5 years ago
|
||
The tests are running on GitHub and it doesn't know anything about the Gecko release process; it just pulls the latest nightly to run the tests. It's quite hard to even think about how it would work otherwise; finding some way to use the build from our CI just for upstreamed changes might be possible? But it would certainly not be a small amount of work to handle synchonising the two different systems. I think in the foreseeable future this is likely to be something that's handled manually. FWIW when tests from Gecko only fail stability checks in Firefox I tend to assume that landing them upstream isn't making things worse than they are in m-c and so end up force merging.
Assignee | ||
Comment 58•5 years ago
|
||
(In reply to James Graham [:jgraham] from comment #57)
The tests are running on GitHub and it doesn't know anything about the Gecko release process; it just pulls the latest nightly to run the tests. It's quite hard to even think about how it would work otherwise; finding some way to use the build from our CI just for upstreamed changes might be possible? But it would certainly not be a small amount of work to handle synchonising the two different systems. I think in the foreseeable future this is likely to be something that's handled manually. FWIW when tests from Gecko only fail stability checks in Firefox I tend to assume that landing them upstream isn't making things worse than they are in m-c and so end up force merging.
Without knowing any details..,
The initial comment on github PR has the gecko rev and repo [1], and from those you can figure out what to query hg.mo with to get to the try run on treeherder [2]. Can those be parsed out, and then have it wait for the appropriate taskcluster build to complete, before pulling and running on that?
Or wait for the bugzilla bug to become RESOLVED, and another Nightly build released?
[1] https://github.com/web-platform-tests/wpt/pull/17254
[2] https://hg.mozilla.org/integration/autoland/rev/32c521c1b373336081db70bad913793a1421568c
Assignee | ||
Comment 65•5 years ago
|
||
The upstream PR has gotten "merged" a bit too many times now. James, is everything in order?
Comment 66•5 years ago
|
||
I don't think anything bad is happening apart from the spam, but yeah it shouldn't be doing that. Filed https://github.com/mozilla/wpt-sync/issues/377
Reporter | ||
Updated•5 years ago
|
Description
•