Create IAMF playback test [chromium/src : main]

0 views
Skip to first unread message

Syed AbuTalib (Gerrit)

unread,
Jul 29, 2026, 4:50:18 PM (7 days ago) Jul 29
to Thomas Guilbert, Chromium LUCI CQ, chromium...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, feature-me...@chromium.org
Attention needed from Thomas Guilbert

Syed AbuTalib voted Commit-Queue+1

Commit-Queue+1
Open in Gerrit

Related details

Attention is currently required from:
  • Thomas Guilbert
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: Iaaa8e8b414a253d17b34245e914c0a7fc45baa48
Gerrit-Change-Number: 8168460
Gerrit-PatchSet: 2
Gerrit-Owner: Syed AbuTalib <low...@google.com>
Gerrit-Reviewer: Syed AbuTalib <low...@google.com>
Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
Gerrit-Attention: Thomas Guilbert <tgui...@chromium.org>
Gerrit-Comment-Date: Wed, 29 Jul 2026 20:50:10 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Thomas Guilbert (Gerrit)

unread,
Jul 29, 2026, 6:11:45 PM (7 days ago) Jul 29
to Syed AbuTalib, Thomas Guilbert, Chromium LUCI CQ, chromium...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, feature-me...@chromium.org
Attention needed from Syed AbuTalib

Thomas Guilbert added 2 comments

File third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/media-elements/audio_iamf_playback.html
Line 7, Patchset 2 (Latest): src="/media/iamf_alternating_sine_waves_stereo.mp4"
Thomas Guilbert . unresolved

Doesn't this need to be fed through MSE?

Line 16, Patchset 2 (Latest): assert_implements_optional(supported, type + ' unsupported');
Thomas Guilbert . unresolved

Have you confirmed that this is run and not skipped?

Open in Gerrit

Related details

Attention is currently required from:
  • Syed AbuTalib
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Iaaa8e8b414a253d17b34245e914c0a7fc45baa48
    Gerrit-Change-Number: 8168460
    Gerrit-PatchSet: 2
    Gerrit-Owner: Syed AbuTalib <low...@google.com>
    Gerrit-Reviewer: Syed AbuTalib <low...@google.com>
    Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Attention: Syed AbuTalib <low...@google.com>
    Gerrit-Comment-Date: Wed, 29 Jul 2026 22:11:36 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Syed AbuTalib (Gerrit)

    unread,
    Jul 30, 2026, 2:28:58 PM (6 days ago) Jul 30
    to Thomas Guilbert, Chromium LUCI CQ, chromium...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, feature-me...@chromium.org
    Attention needed from Thomas Guilbert

    Syed AbuTalib added 2 comments

    File third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/media-elements/audio_iamf_playback.html
    Line 7, Patchset 2: src="/media/iamf_alternating_sine_waves_stereo.mp4"
    Thomas Guilbert . resolved

    Doesn't this need to be fed through MSE?

    Syed AbuTalib

    Wow, I can't believe it passed (it actually ran it wasn't a skip) without it. I switched to MSE and it seems to pass/fail correctly.

    Line 16, Patchset 2: assert_implements_optional(supported, type + ' unsupported');
    Thomas Guilbert . unresolved

    Have you confirmed that this is run and not skipped?

    Syed AbuTalib

    Okay, the default led to a precondition failed (I assume good?) and when I ran with the enabled flag I got it to pass: `/third_party/blink/tools/run_web_tests.py -t Default --additional-driver-flag=--enable-features=IamfAudioDecoding external/wpt/media-source/mediasource-iamf-playback.html`

    I added the expected.txt, but is that how `assert_implements_optional` is used? It seems so according to https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/docs/writing-tests/testharness-api.md

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Thomas Guilbert
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Iaaa8e8b414a253d17b34245e914c0a7fc45baa48
    Gerrit-Change-Number: 8168460
    Gerrit-PatchSet: 3
    Gerrit-Owner: Syed AbuTalib <low...@google.com>
    Gerrit-Reviewer: Syed AbuTalib <low...@google.com>
    Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Attention: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Comment-Date: Thu, 30 Jul 2026 18:28:46 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Thomas Guilbert <tgui...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Thomas Guilbert (Gerrit)

    unread,
    Jul 30, 2026, 4:47:00 PM (6 days ago) Jul 30
    to Syed AbuTalib, Thomas Guilbert, Chromium LUCI CQ, chromium...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, feature-me...@chromium.org
    Attention needed from Syed AbuTalib

    Thomas Guilbert added 5 comments

    File third_party/blink/web_tests/external/wpt/media-source/mediasource-iamf-playback.html
    Line 15, Patchset 3 (Latest): audio.src = URL.createObjectURL(mediaSource);
    Thomas Guilbert . unresolved

    You can create an element through `let audio_element = document.createElement('audio')` instead of declaring one in the HTML.

    Line 20, Patchset 3 (Latest): const buffer = await response.arrayBuffer();
    Thomas Guilbert . unresolved

    assert `response.Ok` before getting the arrayBuffer.

    Line 28, Patchset 3 (Latest): assert_implements_optional(mediaSource.readyState === 'open', type + ' unsupported by media pipeline');
    Thomas Guilbert . unresolved

    Use a regular assert here.

    Line 48, Patchset 3 (Latest): audio.play().catch(e => {
    Thomas Guilbert . unresolved

    You might run into issues calling `play()` here, due to auto-play policies blocking this without user interaction first.

    Here's how another test gets around this:
    https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/media-elements/preserves-pitch.html;l=110;drc=4ce886724455810f79bfb059684b2f56f84ba24d

    Line 57, Patchset 3 (Latest): assert_implements_optional(false, type + ' unsupported by media decoding pipeline');
    Thomas Guilbert . unresolved

    There should only be one `assert_implements_optional` to skip the test if unsupported.
    Otherwise, this should be a test failure.

    Gemini also thinkgs that wrapping everything in the try/catch is an anti-pattern? I think that if there is an exception, it should bubble up and fail the test correctly. You could verify this locally by throwing any exception and confirming that the test fails with the right messages.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Syed AbuTalib
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Iaaa8e8b414a253d17b34245e914c0a7fc45baa48
    Gerrit-Change-Number: 8168460
    Gerrit-PatchSet: 3
    Gerrit-Owner: Syed AbuTalib <low...@google.com>
    Gerrit-Reviewer: Syed AbuTalib <low...@google.com>
    Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Attention: Syed AbuTalib <low...@google.com>
    Gerrit-Comment-Date: Thu, 30 Jul 2026 20:46:47 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Syed AbuTalib (Gerrit)

    unread,
    Aug 3, 2026, 4:38:34 PM (2 days ago) Aug 3
    to Thomas Guilbert, Chromium LUCI CQ, chromium...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, feature-me...@chromium.org
    Attention needed from Thomas Guilbert

    Syed AbuTalib added 5 comments

    File third_party/blink/web_tests/external/wpt/media-source/mediasource-iamf-playback.html
    Line 15, Patchset 3: audio.src = URL.createObjectURL(mediaSource);
    Thomas Guilbert . resolved

    You can create an element through `let audio_element = document.createElement('audio')` instead of declaring one in the HTML.

    Syed AbuTalib

    Done

    Line 20, Patchset 3: const buffer = await response.arrayBuffer();
    Thomas Guilbert . resolved

    assert `response.Ok` before getting the arrayBuffer.

    Syed AbuTalib

    Done

    Line 28, Patchset 3: assert_implements_optional(mediaSource.readyState === 'open', type + ' unsupported by media pipeline');
    Thomas Guilbert . resolved

    Use a regular assert here.

    Syed AbuTalib

    Done

    Line 48, Patchset 3: audio.play().catch(e => {
    Thomas Guilbert . resolved

    You might run into issues calling `play()` here, due to auto-play policies blocking this without user interaction first.

    Here's how another test gets around this:
    https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/media-elements/preserves-pitch.html;l=110;drc=4ce886724455810f79bfb059684b2f56f84ba24d

    Syed AbuTalib

    Done

    Line 57, Patchset 3: assert_implements_optional(false, type + ' unsupported by media decoding pipeline');
    Thomas Guilbert . resolved

    There should only be one `assert_implements_optional` to skip the test if unsupported.
    Otherwise, this should be a test failure.

    Gemini also thinkgs that wrapping everything in the try/catch is an anti-pattern? I think that if there is an exception, it should bubble up and fail the test correctly. You could verify this locally by throwing any exception and confirming that the test fails with the right messages.

    Syed AbuTalib

    Done. The only one is `assert_implements_optional(supported, type + ' unsupported');`.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Thomas Guilbert
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Iaaa8e8b414a253d17b34245e914c0a7fc45baa48
    Gerrit-Change-Number: 8168460
    Gerrit-PatchSet: 4
    Gerrit-Owner: Syed AbuTalib <low...@google.com>
    Gerrit-Reviewer: Syed AbuTalib <low...@google.com>
    Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Attention: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Comment-Date: Mon, 03 Aug 2026 20:38:12 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Thomas Guilbert <tgui...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Thomas Guilbert (Gerrit)

    unread,
    Aug 3, 2026, 9:32:48 PM (2 days ago) Aug 3
    to Syed AbuTalib, Thomas Guilbert, Chromium LUCI CQ, chromium...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, feature-me...@chromium.org
    Attention needed from Syed AbuTalib

    Thomas Guilbert added 3 comments

    File third_party/blink/web_tests/external/wpt/media-source/mediasource-iamf-playback.html
    Line 13, Patchset 4 (Latest): const audio_element = document.createElement('audio');
    Thomas Guilbert . unresolved

    Gemini mentions that some browsers throttle out-of-dom audio elements.

    Adding the following is its recommendation:
    ```
    document.body.appendChild(audio_element);
    t.add_cleanup(() => audio_element.remove());
    ```

    Line 15, Patchset 4 (Latest): audio_element.src = URL.createObjectURL(mediaSource);
    Thomas Guilbert . unresolved

    Make sure to cleanup the URL, or else it can cause a memory leak if we exit early due to an assert (although, it shouldn't be an issue really for WPTs).
    ```
    const url = URL.createObjectURL(mediaSource);
    t.add_cleanup(() => URL.revokeObjectURL(url));
    ```

    Line 43, Patchset 4 (Latest): audio_element.removeEventListener('timeupdate', onTimeUpdate);
    Thomas Guilbert . unresolved

    How long is the audio clip? There is a flakiness risk if `onended` fires before `timeupdate` does. The test would hang, as there would be no more `timeupdate` events fired afterwards.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Syed AbuTalib
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Iaaa8e8b414a253d17b34245e914c0a7fc45baa48
    Gerrit-Change-Number: 8168460
    Gerrit-PatchSet: 4
    Gerrit-Owner: Syed AbuTalib <low...@google.com>
    Gerrit-Reviewer: Syed AbuTalib <low...@google.com>
    Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Attention: Syed AbuTalib <low...@google.com>
    Gerrit-Comment-Date: Tue, 04 Aug 2026 01:32:38 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Syed AbuTalib (Gerrit)

    unread,
    Aug 3, 2026, 9:55:28 PM (2 days ago) Aug 3
    to Thomas Guilbert, Chromium LUCI CQ, chromium...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, feature-me...@chromium.org
    Attention needed from Thomas Guilbert

    Syed AbuTalib added 3 comments

    File third_party/blink/web_tests/external/wpt/media-source/mediasource-iamf-playback.html
    Line 13, Patchset 4: const audio_element = document.createElement('audio');
    Thomas Guilbert . resolved

    Gemini mentions that some browsers throttle out-of-dom audio elements.

    Adding the following is its recommendation:
    ```
    document.body.appendChild(audio_element);
    t.add_cleanup(() => audio_element.remove());
    ```

    Syed AbuTalib

    Done

    Line 15, Patchset 4: audio_element.src = URL.createObjectURL(mediaSource);
    Thomas Guilbert . resolved

    Make sure to cleanup the URL, or else it can cause a memory leak if we exit early due to an assert (although, it shouldn't be an issue really for WPTs).
    ```
    const url = URL.createObjectURL(mediaSource);
    t.add_cleanup(() => URL.revokeObjectURL(url));
    ```

    Syed AbuTalib

    Done

    Line 43, Patchset 4: audio_element.removeEventListener('timeupdate', onTimeUpdate);
    Thomas Guilbert . unresolved

    How long is the audio clip? There is a flakiness risk if `onended` fires before `timeupdate` does. The test would hang, as there would be no more `timeupdate` events fired afterwards.

    Syed AbuTalib

    `third_party/blink/web_tests/external/wpt/media/iamf_alternating_sine_waves_stereo.mp4` is `6.01` seconds long. That should be good enough?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Thomas Guilbert
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Iaaa8e8b414a253d17b34245e914c0a7fc45baa48
    Gerrit-Change-Number: 8168460
    Gerrit-PatchSet: 5
    Gerrit-Owner: Syed AbuTalib <low...@google.com>
    Gerrit-Reviewer: Syed AbuTalib <low...@google.com>
    Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Attention: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Comment-Date: Tue, 04 Aug 2026 01:55:13 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Thomas Guilbert <tgui...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Thomas Guilbert (Gerrit)

    unread,
    Aug 4, 2026, 2:43:31 PM (17 hours ago) Aug 4
    to Syed AbuTalib, Thomas Guilbert, Chromium LUCI CQ, chromium...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, feature-me...@chromium.org
    Attention needed from Syed AbuTalib

    Thomas Guilbert added 1 comment

    File third_party/blink/web_tests/external/wpt/media-source/mediasource-iamf-playback.html
    Line 43, Patchset 4: audio_element.removeEventListener('timeupdate', onTimeUpdate);
    Thomas Guilbert . unresolved

    How long is the audio clip? There is a flakiness risk if `onended` fires before `timeupdate` does. The test would hang, as there would be no more `timeupdate` events fired afterwards.

    Syed AbuTalib

    `third_party/blink/web_tests/external/wpt/media/iamf_alternating_sine_waves_stereo.mp4` is `6.01` seconds long. That should be good enough?

    Thomas Guilbert

    It is long enough, but I still think it would be worth checking the `onended` event. These tests are meant to be run across browsers, on VMs, on old hardware, etc. I feel like we should make these as robust and resilient as possible, given that they are shared with the industry.

    If this test starts flaking, this will rule out one possibility.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Syed AbuTalib
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Iaaa8e8b414a253d17b34245e914c0a7fc45baa48
    Gerrit-Change-Number: 8168460
    Gerrit-PatchSet: 5
    Gerrit-Owner: Syed AbuTalib <low...@google.com>
    Gerrit-Reviewer: Syed AbuTalib <low...@google.com>
    Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Attention: Syed AbuTalib <low...@google.com>
    Gerrit-Comment-Date: Tue, 04 Aug 2026 18:43:20 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Syed AbuTalib <low...@google.com>
    Comment-In-Reply-To: Thomas Guilbert <tgui...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Syed AbuTalib (Gerrit)

    unread,
    Aug 4, 2026, 3:02:20 PM (16 hours ago) Aug 4
    to Thomas Guilbert, Chromium LUCI CQ, chromium...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, feature-me...@chromium.org
    Attention needed from Thomas Guilbert

    Syed AbuTalib added 1 comment

    File third_party/blink/web_tests/external/wpt/media-source/mediasource-iamf-playback.html
    Line 43, Patchset 4: audio_element.removeEventListener('timeupdate', onTimeUpdate);
    Thomas Guilbert . unresolved

    How long is the audio clip? There is a flakiness risk if `onended` fires before `timeupdate` does. The test would hang, as there would be no more `timeupdate` events fired afterwards.

    Syed AbuTalib

    `third_party/blink/web_tests/external/wpt/media/iamf_alternating_sine_waves_stereo.mp4` is `6.01` seconds long. That should be good enough?

    Thomas Guilbert

    It is long enough, but I still think it would be worth checking the `onended` event. These tests are meant to be run across browsers, on VMs, on old hardware, etc. I feel like we should make these as robust and resilient as possible, given that they are shared with the industry.

    If this test starts flaking, this will rule out one possibility.

    Syed AbuTalib

    Added check for `ended` event.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Thomas Guilbert
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Iaaa8e8b414a253d17b34245e914c0a7fc45baa48
    Gerrit-Change-Number: 8168460
    Gerrit-PatchSet: 6
    Gerrit-Owner: Syed AbuTalib <low...@google.com>
    Gerrit-Reviewer: Syed AbuTalib <low...@google.com>
    Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Attention: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Comment-Date: Tue, 04 Aug 2026 19:02:02 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Thomas Guilbert (Gerrit)

    unread,
    Aug 4, 2026, 3:08:11 PM (16 hours ago) Aug 4
    to Syed AbuTalib, Thomas Guilbert, Chromium LUCI CQ, chromium...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, feature-me...@chromium.org
    Attention needed from Syed AbuTalib

    Thomas Guilbert added 2 comments

    File third_party/blink/web_tests/external/wpt/media-source/mediasource-iamf-playback.html
    Line 38, Patchset 6 (Latest): if (audio_element.currentTime > 0 || audio_element.ended) {
    Thomas Guilbert . unresolved

    If this ended but `currentTime == 0`, this should be a test error. Otherwise, it's a success.

    I would use a seperate method for checking `ended`.

    Line 43, Patchset 4: audio_element.removeEventListener('timeupdate', onTimeUpdate);
    Thomas Guilbert . resolved

    How long is the audio clip? There is a flakiness risk if `onended` fires before `timeupdate` does. The test would hang, as there would be no more `timeupdate` events fired afterwards.

    Syed AbuTalib

    `third_party/blink/web_tests/external/wpt/media/iamf_alternating_sine_waves_stereo.mp4` is `6.01` seconds long. That should be good enough?

    Thomas Guilbert

    It is long enough, but I still think it would be worth checking the `onended` event. These tests are meant to be run across browsers, on VMs, on old hardware, etc. I feel like we should make these as robust and resilient as possible, given that they are shared with the industry.

    If this test starts flaking, this will rule out one possibility.

    Syed AbuTalib

    Added check for `ended` event.

    Thomas Guilbert

    Acknowledged

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Syed AbuTalib
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Iaaa8e8b414a253d17b34245e914c0a7fc45baa48
    Gerrit-Change-Number: 8168460
    Gerrit-PatchSet: 6
    Gerrit-Owner: Syed AbuTalib <low...@google.com>
    Gerrit-Reviewer: Syed AbuTalib <low...@google.com>
    Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Attention: Syed AbuTalib <low...@google.com>
    Gerrit-Comment-Date: Tue, 04 Aug 2026 19:07:45 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Syed AbuTalib (Gerrit)

    unread,
    Aug 4, 2026, 3:59:20 PM (15 hours ago) Aug 4
    to Thomas Guilbert, Chromium LUCI CQ, chromium...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, feature-me...@chromium.org
    Attention needed from Thomas Guilbert

    Syed AbuTalib added 1 comment

    File third_party/blink/web_tests/external/wpt/media-source/mediasource-iamf-playback.html
    Line 38, Patchset 6: if (audio_element.currentTime > 0 || audio_element.ended) {
    Thomas Guilbert . unresolved

    If this ended but `currentTime == 0`, this should be a test error. Otherwise, it's a success.

    I would use a seperate method for checking `ended`.

    Syed AbuTalib

    I splitted into two functions, checkProgress and onError.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Thomas Guilbert
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Iaaa8e8b414a253d17b34245e914c0a7fc45baa48
    Gerrit-Change-Number: 8168460
    Gerrit-PatchSet: 7
    Gerrit-Owner: Syed AbuTalib <low...@google.com>
    Gerrit-Reviewer: Syed AbuTalib <low...@google.com>
    Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Attention: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Comment-Date: Tue, 04 Aug 2026 19:59:01 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Thomas Guilbert <tgui...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Thomas Guilbert (Gerrit)

    unread,
    Aug 4, 2026, 5:06:45 PM (14 hours ago) Aug 4
    to Syed AbuTalib, Thomas Guilbert, Chromium LUCI CQ, chromium...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, feature-me...@chromium.org
    Attention needed from Syed AbuTalib

    Thomas Guilbert voted and added 2 comments

    Votes added by Thomas Guilbert

    Code-Review+1

    2 comments

    Patchset-level comments
    File-level comment, Patchset 7 (Latest):
    Thomas Guilbert . resolved

    LGTM! Would you mind running the tests once more before submitting, and confirming that they are skipped when the kIAMF flag is off?

    File third_party/blink/web_tests/external/wpt/media-source/mediasource-iamf-playback.html
    Line 38, Patchset 6: if (audio_element.currentTime > 0 || audio_element.ended) {
    Thomas Guilbert . resolved

    If this ended but `currentTime == 0`, this should be a test error. Otherwise, it's a success.

    I would use a seperate method for checking `ended`.

    Syed AbuTalib

    I splitted into two functions, checkProgress and onError.

    Thomas Guilbert

    TY!

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Syed AbuTalib
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Iaaa8e8b414a253d17b34245e914c0a7fc45baa48
      Gerrit-Change-Number: 8168460
      Gerrit-PatchSet: 7
      Gerrit-Owner: Syed AbuTalib <low...@google.com>
      Gerrit-Reviewer: Syed AbuTalib <low...@google.com>
      Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
      Gerrit-Attention: Syed AbuTalib <low...@google.com>
      Gerrit-Comment-Date: Tue, 04 Aug 2026 21:06:36 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Syed AbuTalib (Gerrit)

      unread,
      Aug 4, 2026, 6:53:08 PM (13 hours ago) Aug 4
      to Thomas Guilbert, Chromium LUCI CQ, chromium...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, feature-me...@chromium.org

      Syed AbuTalib voted Commit-Queue+2

      Commit-Queue+2
      Open in Gerrit

      Related details

      Attention set is empty
      Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement satisfiedCode-Owners
        • requirement satisfiedCode-Review
        • requirement satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: Iaaa8e8b414a253d17b34245e914c0a7fc45baa48
        Gerrit-Change-Number: 8168460
        Gerrit-PatchSet: 7
        Gerrit-Owner: Syed AbuTalib <low...@google.com>
        Gerrit-Reviewer: Syed AbuTalib <low...@google.com>
        Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
        Gerrit-Comment-Date: Tue, 04 Aug 2026 22:52:48 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        open
        diffy

        Syed AbuTalib (Gerrit)

        unread,
        Aug 4, 2026, 6:53:13 PM (13 hours ago) Aug 4
        to Thomas Guilbert, Chromium LUCI CQ, chromium...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, feature-me...@chromium.org

        Syed AbuTalib added 2 comments

        Patchset-level comments
        Thomas Guilbert . resolved

        LGTM! Would you mind running the tests once more before submitting, and confirming that they are skipped when the kIAMF flag is off?

        Syed AbuTalib

        Just tested with on/off, got `[PRECONDITION FAILED]` in the off case and `PASS` in the enabled case.

        File third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/media-elements/audio_iamf_playback.html
        Line 16, Patchset 2: assert_implements_optional(supported, type + ' unsupported');
        Thomas Guilbert . resolved

        Have you confirmed that this is run and not skipped?

        Syed AbuTalib

        Okay, the default led to a precondition failed (I assume good?) and when I ran with the enabled flag I got it to pass: `/third_party/blink/tools/run_web_tests.py -t Default --additional-driver-flag=--enable-features=IamfAudioDecoding external/wpt/media-source/mediasource-iamf-playback.html`

        I added the expected.txt, but is that how `assert_implements_optional` is used? It seems so according to https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/docs/writing-tests/testharness-api.md

        Syed AbuTalib

        Done

        Open in Gerrit

        Related details

        Attention set is empty
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement satisfiedCode-Owners
        • requirement satisfiedCode-Review
        • requirement satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: Iaaa8e8b414a253d17b34245e914c0a7fc45baa48
        Gerrit-Change-Number: 8168460
        Gerrit-PatchSet: 7
        Gerrit-Owner: Syed AbuTalib <low...@google.com>
        Gerrit-Reviewer: Syed AbuTalib <low...@google.com>
        Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
        Gerrit-Comment-Date: Tue, 04 Aug 2026 22:52:32 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        satisfied_requirement
        open
        diffy

        Blink W3C Test Autoroller (Gerrit)

        unread,
        Aug 4, 2026, 6:58:35 PM (12 hours ago) Aug 4
        to Syed AbuTalib, Thomas Guilbert, Chromium LUCI CQ, chromium...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, feature-me...@chromium.org

        Message from Blink W3C Test Autoroller

        Exportable changes to web-platform-tests were detected in this CL and a pull request in the upstream repo has been made: https://github.com/web-platform-tests/wpt/pull/61732.

        When this CL lands, the bot will automatically merge the PR on GitHub if the required GitHub checks pass; otherwise, ecosystem-infra@ team will triage the failures and may contact you.

        WPT Export docs:
        https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md#Automatic-export-process

        Open in Gerrit

        Related details

        Attention set is empty
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement satisfiedCode-Owners
        • requirement satisfiedCode-Review
        • requirement satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: Iaaa8e8b414a253d17b34245e914c0a7fc45baa48
        Gerrit-Change-Number: 8168460
        Gerrit-PatchSet: 7
        Gerrit-Owner: Syed AbuTalib <low...@google.com>
        Gerrit-Reviewer: Syed AbuTalib <low...@google.com>
        Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
        Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
        Gerrit-Comment-Date: Tue, 04 Aug 2026 22:58:24 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: No
        satisfied_requirement
        open
        diffy

        Chromium LUCI CQ (Gerrit)

        unread,
        Aug 4, 2026, 8:41:11 PM (11 hours ago) Aug 4
        to Syed AbuTalib, Blink W3C Test Autoroller, Thomas Guilbert, chromium...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, feature-me...@chromium.org

        Chromium LUCI CQ submitted the change

        Change information

        Commit message:
        Create IAMF playback test

        This CL introduces a basic test to ensure that iamf audio files can be
        played. We confirm 'played' status by checking `timeupdate`.
        Bug: 540492014
        Change-Id: Iaaa8e8b414a253d17b34245e914c0a7fc45baa48
        Commit-Queue: Syed AbuTalib <low...@google.com>
        Reviewed-by: Thomas Guilbert <tgui...@chromium.org>
        Cr-Commit-Position: refs/heads/main@{#1673809}
        Files:
        • A third_party/blink/web_tests/external/wpt/media-source/mediasource-iamf-playback-expected.txt
        • A third_party/blink/web_tests/external/wpt/media-source/mediasource-iamf-playback.html
        • A third_party/blink/web_tests/external/wpt/media/iamf_alternating_sine_waves_stereo.mp4
        Change size: M
        Delta: 3 files changed, 75 insertions(+), 0 deletions(-)
        Branch: refs/heads/main
        Submit Requirements:
        • requirement satisfiedCode-Review: +1 by Thomas Guilbert
        Open in Gerrit
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: merged
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: Iaaa8e8b414a253d17b34245e914c0a7fc45baa48
        Gerrit-Change-Number: 8168460
        Gerrit-PatchSet: 8
        Gerrit-Owner: Syed AbuTalib <low...@google.com>
        Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
        Gerrit-Reviewer: Syed AbuTalib <low...@google.com>
        Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
        Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
        open
        diffy
        satisfied_requirement

        Blink W3C Test Autoroller (Gerrit)

        unread,
        12:21 AM (7 hours ago) 12:21 AM
        to Syed AbuTalib, Chromium LUCI CQ, Thomas Guilbert, chromium...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, feature-me...@chromium.org

        Message from Blink W3C Test Autoroller

        The WPT PR for this CL has been merged upstream! https://github.com/web-platform-tests/wpt/pull/61732

        Open in Gerrit

        Related details

        Attention set is empty
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement satisfiedCode-Owners
        • requirement satisfiedCode-Review
        • requirement satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: Iaaa8e8b414a253d17b34245e914c0a7fc45baa48
        Gerrit-Change-Number: 8168460
        Gerrit-PatchSet: 8
        Gerrit-Owner: Syed AbuTalib <low...@google.com>
        Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
        Gerrit-Reviewer: Syed AbuTalib <low...@google.com>
        Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
        Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
        Gerrit-Comment-Date: Wed, 05 Aug 2026 04:21:39 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: No
        satisfied_requirement
        open
        diffy
        Reply all
        Reply to author
        Forward
        0 new messages