Closed Bug 1706522 Opened 3 years ago Closed 3 years ago

[wpt-sync] Sync PR 28609 - [WebCodecs] Fix issues when reset() happens during flush().

Categories

(Testing :: web-platform-tests, task, P4)

task

Tracking

(firefox90 fixed)

RESOLVED FIXED
90 Branch
Tracking Status
firefox90 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 28609 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/28609
Details from upstream follow.

b'Dale Curtis <dalecurtis@chromium.org>' wrote:

[WebCodecs] Fix issues when reset() happens during flush().

reset() clears the active configuration, so we should not attempt
to reinitialize if reset() was called during flush().

R=eugene

Fixed: 1200768
Change-Id: Iac34480ba859ab156d6a93c943a7ffce9304b1ec
Reviewed-on: https://chromium-review.googlesource.com/2842784
WPT-Export-Revision: e305f97aaf9ba7ea577be80eb13719a74ff8b8ce

PR 28609 applied with additional changes from upstream: da61cc0f2d1095b5884bc2880f4c0f5fe530013c, a6a7c84620a5388cfce27fb6f1eab6fad716fdde

CI Results

Ran 15 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 4 tests and 32 subtests

Status Summary

Firefox

OK : 4
FAIL: 102

Chrome

OK : 4
PASS: 86
FAIL: 16

Safari

OK : 4
FAIL: 102

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/webcodecs/audio-decoder.any.worker.html
Test that AudioDecoder.isConfigSupported() rejects invalid config:Emtpy codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.isConfigSupported() rejects invalid config:Unrecognized codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.isConfigSupported() rejects invalid config:Video codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.isConfigSupported() rejects invalid config:Ambiguous codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.isConfigSupported() rejects invalid config:Codec with MIME type: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.configure() rejects invalid config:Emtpy codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.configure() rejects invalid config:Unrecognized codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.configure() rejects invalid config:Video codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.configure() rejects invalid config:Ambiguous codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.configure() rejects invalid config:Codec with MIME type: FAIL (Chrome: PASS, Safari: FAIL)
Test AudioDecoder.isConfigSupported() with a valid config: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.isConfigSupported() returns a parsed configuration: FAIL (Chrome: PASS, Safari: FAIL)
Test AudioDecoder construction: FAIL (Chrome: PASS, Safari: FAIL)
Test AudioDecoder.configure(): FAIL (Chrome: PASS, Safari: FAIL)
Verify closed AudioDecoder operations: FAIL (Chrome: PASS, Safari: FAIL)
Verify unconfigured AudioDecoder operations: FAIL (Chrome: PASS, Safari: FAIL)
Test Opus decoding: FAIL (Chrome: PASS, Safari: FAIL)
Test decoding after flush.: FAIL (Chrome: FAIL, Safari: FAIL)
Test reset during flush.: FAIL (Chrome: PASS, Safari: FAIL)
/webcodecs/audio-decoder.any.html
Test that AudioDecoder.isConfigSupported() rejects invalid config:Emtpy codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.isConfigSupported() rejects invalid config:Unrecognized codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.isConfigSupported() rejects invalid config:Video codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.isConfigSupported() rejects invalid config:Ambiguous codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.isConfigSupported() rejects invalid config:Codec with MIME type: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.configure() rejects invalid config:Emtpy codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.configure() rejects invalid config:Unrecognized codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.configure() rejects invalid config:Video codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.configure() rejects invalid config:Ambiguous codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.configure() rejects invalid config:Codec with MIME type: FAIL (Chrome: PASS, Safari: FAIL)
Test AudioDecoder.isConfigSupported() with a valid config: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.isConfigSupported() returns a parsed configuration: FAIL (Chrome: PASS, Safari: FAIL)
Test AudioDecoder construction: FAIL (Chrome: PASS, Safari: FAIL)
Test AudioDecoder.configure(): FAIL (Chrome: PASS, Safari: FAIL)
Verify closed AudioDecoder operations: FAIL (Chrome: PASS, Safari: FAIL)
Verify unconfigured AudioDecoder operations: FAIL (Chrome: PASS, Safari: FAIL)
Test Opus decoding: FAIL (Chrome: PASS, Safari: FAIL)
Test decoding after flush.: FAIL (Chrome: FAIL, Safari: FAIL)
Test reset during flush.: FAIL (Chrome: PASS, Safari: FAIL)
/webcodecs/video-decoder.any.html
Test that VideoDecoder.isConfigSupported() rejects invalid config:Emtpy codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Unrecognized codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Audio codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Ambiguous codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Codec with MIME type: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Zero coded size: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Out of bounds visibleRegion: FAIL (Chrome: FAIL, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Way out of bounds visibleRegion: FAIL (Chrome: FAIL, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Invalid display size: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Emtpy codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Unrecognized codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Audio codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Ambiguous codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Codec with MIME type: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Zero coded size: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Out of bounds visibleRegion: FAIL (Chrome: FAIL, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Way out of bounds visibleRegion: FAIL (Chrome: FAIL, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Invalid display size: FAIL (Chrome: PASS, Safari: FAIL)
Test VideoDecoder.isConfigSupported() with minimal valid config: FAIL (Chrome: PASS, Safari: FAIL)
Test VideoDecoder.isConfigSupported() with valid expanded config: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() returns a parsed configuration: FAIL (Chrome: FAIL, Safari: FAIL)
Test VideoDecoder construction: FAIL (Chrome: PASS, Safari: FAIL)
Test VideoDecoder.configure() with various codec strings: FAIL (Chrome: PASS, Safari: FAIL)
Decode VP9: FAIL (Chrome: FAIL, Safari: FAIL)
Verify reset() suppresses output and rejects flush: FAIL (Chrome: PASS, Safari: FAIL)
Verify closed VideoDecoder operations: FAIL (Chrome: PASS, Safari: FAIL)
Verify unconfigured VideoDecoder operations: FAIL (Chrome: PASS, Safari: FAIL)
Decode corrupt VP9 frame: FAIL (Chrome: PASS, Safari: FAIL)
Decode empty VP9 frame: FAIL (Chrome: PASS, Safari: FAIL)
Close while decoding corrupt VP9 frame: FAIL (Chrome: PASS, Safari: FAIL)
Test decoding after flush.: FAIL (Chrome: FAIL, Safari: FAIL)
Test reset during flush.: FAIL (Chrome: PASS, Safari: FAIL)
/webcodecs/video-decoder.any.worker.html
Test that VideoDecoder.isConfigSupported() rejects invalid config:Emtpy codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Unrecognized codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Audio codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Ambiguous codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Codec with MIME type: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Zero coded size: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Out of bounds visibleRegion: FAIL (Chrome: FAIL, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Way out of bounds visibleRegion: FAIL (Chrome: FAIL, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Invalid display size: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Emtpy codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Unrecognized codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Audio codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Ambiguous codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Codec with MIME type: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Zero coded size: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Out of bounds visibleRegion: FAIL (Chrome: FAIL, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Way out of bounds visibleRegion: FAIL (Chrome: FAIL, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Invalid display size: FAIL (Chrome: PASS, Safari: FAIL)
Test VideoDecoder.isConfigSupported() with minimal valid config: FAIL (Chrome: PASS, Safari: FAIL)
Test VideoDecoder.isConfigSupported() with valid expanded config: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() returns a parsed configuration: FAIL (Chrome: FAIL, Safari: FAIL)
Test VideoDecoder construction: FAIL (Chrome: PASS, Safari: FAIL)
Test VideoDecoder.configure() with various codec strings: FAIL (Chrome: PASS, Safari: FAIL)
Decode VP9: FAIL (Chrome: FAIL, Safari: FAIL)
Verify reset() suppresses output and rejects flush: FAIL (Chrome: PASS, Safari: FAIL)
Verify closed VideoDecoder operations: FAIL (Chrome: PASS, Safari: FAIL)
Verify unconfigured VideoDecoder operations: FAIL (Chrome: PASS, Safari: FAIL)
Decode corrupt VP9 frame: FAIL (Chrome: PASS, Safari: FAIL)
Decode empty VP9 frame: FAIL (Chrome: PASS, Safari: FAIL)
Close while decoding corrupt VP9 frame: FAIL (Chrome: PASS, Safari: FAIL)
Test decoding after flush.: FAIL (Chrome: FAIL, Safari: FAIL)
Test reset during flush.: FAIL (Chrome: PASS, Safari: FAIL)

Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/3a2cf961d1ed
[wpt PR 28609] - [WebCodecs] Fix issues when reset() happens during flush()., a=testonly
https://hg.mozilla.org/integration/autoland/rev/c27e9d09a0f6
[wpt PR 28609] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 90 Branch
You need to log in before you can comment on or make changes to this bug.