Skip to content

Clarify renderQuantumSize handling and privacy considerations in AudioContext#2673

Open
mjwilson-google wants to merge 1 commit intoWebAudio:mainfrom
mjwilson-google:rendersizehint-privacy
Open

Clarify renderQuantumSize handling and privacy considerations in AudioContext#2673
mjwilson-google wants to merge 1 commit intoWebAudio:mainfrom
mjwilson-google:rendersizehint-privacy

Conversation

@mjwilson-google
Copy link
Copy Markdown
Contributor

@mjwilson-google mjwilson-google commented May 6, 2026

Fixes #2663 and fixes #2659

Clarify setting the renderQuantumSize private slot in the AudioContext constructor, and during transitioning to running. We initially set it to 0 during construction when hardware is used, and populate it during the transition. A paragraph was also added to the privacy considerations section noting this mitigation.


💥 Error: 422 Unprocessable Entity 💥

PR Preview failed to build. (Last tried on May 6, 2026, 11:06 PM UTC).

More

PR Preview relies on a number of web services to run. There seems to be an issue with the following one:

🚨 Spec Generator - Spec Generator is the web service used to build bikeshed/ReSpec specs

🔗 Related URL

Error output:

[
    {
        "lineNum": "4187:25",
        "messageType": "warning",
        "text": "At least one <img> doesn't have its size set (<img bs-line-number=\"4187:25\" alt=\"Graphical representation of calling cancelAndHoldAtTime when linearRampToValueAtTime has been called at this time.\" src=\"images/cancel-linear.svg\" style=\"height:75%;width:75%\">), but given the type of input document, Bikeshed can't figure out what the size should be.\nEither set 'width'/'height' manually, or opt out of auto-detection by setting the 'no-autosize' attribute."
    },
    {
        "lineNum": "2573:9",
        "messageType": "fatal",
        "text": "Can't find the 'contextOptions' argument of method 'OfflineAudioContext/constructor(numberOfChannels, length, sampleRate)' in the argumentdef block."
    },
    {
        "lineNum": "3686:9",
        "messageType": "fatal",
        "text": "Can't find the 'destinationNode' argument of method 'AudioNode/connect(destinationParam, output)' in the argumentdef block."
    },
    {
        "lineNum": "3686:9",
        "messageType": "fatal",
        "text": "Can't find the 'input' argument of method 'AudioNode/connect(destinationParam, output)' in the argumentdef block."
    },
    {
        "lineNum": "3787:9",
        "messageType": "fatal",
        "text": "Can't find the 'destinationNode' argument of method 'AudioNode/disconnect(destinationParam, output)' in the argumentdef block."
    },
    {
        "lineNum": "3800:9",
        "messageType": "fatal",
        "text": "Can't find the 'destinationNode' argument of method 'AudioNode/disconnect(destinationParam, output)' in the argumentdef block."
    },
    {
        "lineNum": "3815:9",
        "messageType": "fatal",
        "text": "Can't find the 'destinationNode' argument of method 'AudioNode/disconnect(destinationParam, output)' in the argumentdef block."
    },
    {
        "lineNum": "3815:9",
        "messageType": "fatal",
        "text": "Can't find the 'input' argument of method 'AudioNode/disconnect(destinationParam, output)' in the argumentdef block."
    },
    {
        "lineNum": "261:36",
        "messageType": "link",
        "text": "Multiple possible 'audio' element refs.\nArbitrarily chose https://html.spec.whatwg.org/multipage/media.html#audio\nTo auto-select one of the following refs, insert one of these lines into a <pre class=link-defaults> block:\nspec:html; type:element; text:audio\nspec:epub-34; type:element; text:audio\n<{audio}>"
    },
    {
        "lineNum": "309:39",
        "messageType": "link",
        "text": "Multiple possible 'audio' element refs.\nArbitrarily chose https://html.spec.whatwg.org/multipage/media.html#audio\nTo auto-select one of the following refs, insert one of these lines into a <pre class=link-defaults> block:\nspec:html; type:element; text:audio\nspec:epub-34; type:element; text:audio\n<{audio}>"
    },
    {
        "lineNum": "633:5",
        "messageType": "link",
        "text": "Multiple possible 'audio' element refs.\nArbitrarily chose https://html.spec.whatwg.org/multipage/media.html#audio\nTo auto-select one of the following refs, insert one of these lines into a <pre class=link-defaults> block:\nspec:html; type:element; text:audio\nspec:epub-34; type:element; text:audio\n<{audio}>"
    },
    {
        "lineNum": "1213:9",
        "messageType": "link",
        "text": "Multiple possible 'audio' element refs.\nArbitrarily chose https://html.spec.whatwg.org/multipage/media.html#audio\nTo auto-select one of the following refs, insert one of these lines into a <pre class=link-defaults> block:\nspec:html; type:element; text:audio\nspec:epub-34; type:element; text:audio\n<{audio}>"
    },
    {
        "lineNum": "2908:15",
        "messageType": "link",
        "text": "Multiple possible 'audio' element refs.\nArbitrarily chose https://html.spec.whatwg.org/multipage/media.html#audio\nTo auto-select one of the following refs, insert one of these lines into a <pre class=link-defaults> block:\nspec:html; type:element; text:audio\nspec:epub-34; type:element; text:audio\n<{audio}>"
    },
    {
        "lineNum": "23:9 of file 'audionode.include' (included by a block on 4807:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-MODE]'.\n{{ChannelCountMode/[CC-MODE]}}"
    },
    {
        "lineNum": "27:9 of file 'audionode.include' (included by a block on 4807:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-INTERP]'.\n{{ChannelInterpretation/[CC-INTERP]}}"
    },
    {
        "lineNum": "23:9 of file 'audionode.include' (included by a block on 5221:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-MODE]'.\n{{ChannelCountMode/[CC-MODE]}}"
    },
    {
        "lineNum": "27:9 of file 'audionode.include' (included by a block on 5221:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-INTERP]'.\n{{ChannelInterpretation/[CC-INTERP]}}"
    },
    {
        "lineNum": "23:9 of file 'audionode.include' (included by a block on 5879:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-MODE]'.\n{{ChannelCountMode/[CC-MODE]}}"
    },
    {
        "lineNum": "27:9 of file 'audionode.include' (included by a block on 5879:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-INTERP]'.\n{{ChannelInterpretation/[CC-INTERP]}}"
    },
    {
        "lineNum": "23:9 of file 'audionode.include' (included by a block on 5899:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-MODE]'.\n{{ChannelCountMode/[CC-MODE]}}"
    },
    {
        "lineNum": "27:9 of file 'audionode.include' (included by a block on 5899:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-INTERP]'.\n{{ChannelInterpretation/[CC-INTERP]}}"
    },
    {
        "lineNum": "23:9 of file 'audionode.include' (included by a block on 6361:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-MODE]'.\n{{ChannelCountMode/[CC-MODE]}}"
    },
    {
        "lineNum": "27:9 of file 'audionode.include' (included by a block on 6361:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-INTERP]'.\n{{ChannelInterpretation/[CC-INTERP]}}"
    },
    {
        "lineNum": "23:9 of file 'audionode.include' (included by a block on 6938:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-MODE]'.\n{{ChannelCountMode/[CC-MODE]}}"
    },
    {
        "lineNum": "27:9 of file 'audionode.include' (included by a block on 6938:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-INTERP]'.\n{{ChannelInterpretation/[CC-INTERP]}}"
    },
    {
        "lineNum": "23:9 of file 'audionode.include' (included by a block on 7054:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-MODE]'.\n{{ChannelCountMode/[CC-MODE]}}"
    },
    {
        "lineNum": "27:9 of file 'audionode.include' (included by a block on 7054:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-INTERP]'.\n{{ChannelInterpretation/[CC-INTERP]}}"
    },
    {
        "lineNum": "23:9 of file 'audionode.include' (included by a block on 7171:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-MODE]'.\n{{ChannelCountMode/[CC-MODE]}}"
    },
    {
        "lineNum": "27:9 of file 'audionode.include' (included by a block on 7171:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-INTERP]'.\n{{ChannelInterpretation/[CC-INTERP]}}"
    },
    {
        "lineNum": "23:9 of file 'audionode.include' (included by a block on 7266:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-MODE]'.\n{{ChannelCountMode/[CC-MODE]}}"
    },
    {
        "lineNum": "27:9 of file 'audionode.include' (included by a block on 7266:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-INTERP]'.\n{{ChannelInterpretation/[CC-INTERP]}}"
    },
    {
        "lineNum": "23:9 of file 'audionode.include' (included by a block on 7541:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-MODE]'.\n{{ChannelCountMode/[CC-MODE]}}"
    },
    {
        "lineNum": "27:9 of file 'audionode.include' (included by a block on 7541:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-INTERP]'.\n{{ChannelInterpretation/[CC-INTERP]}}"
    },
    {
        "lineNum": "23:9 of file 'audionode.include' (included by a block on 7719:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-MODE]'.\n{{ChannelCountMode/[CC-MODE]}}"
    },
    {
        "lineNum": "27:9 of file 'audionode.include' (included by a block on 7719:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-INTERP]'.\n{{ChannelInterpretation/[CC-INTERP]}}"
    },
    {
        "lineNum": "23:9 of file 'audionode.include' (included by a block on 8180:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-MODE]'.\n{{ChannelCountMode/[CC-MODE]}}"
    },
    {
        "lineNum": "27:9 of file 'audionode.include' (included by a block on 8180:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-INTERP]'.\n{{ChannelInterpretation/[CC-INTERP]}}"
    },
    {
        "lineNum": "23:9 of file 'audionode.include' (included by a block on 8292:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-MODE]'.\n{{ChannelCountMode/[CC-MODE]}}"
    },
    {
        "lineNum": "27:9 of file 'audionode.include' (included by a block on 8292:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-INTERP]'.\n{{ChannelInterpretation/[CC-INTERP]}}"
    },
    {
        "lineNum": "8438:51",
        "messageType": "link",
        "text": "Multiple possible 'audio' element refs.\nArbitrarily chose https://html.spec.whatwg.org/multipage/media.html#audio\nTo auto-select one of the following refs, insert one of these lines into a <pre class=link-defaults> block:\nspec:html; type:element; text:audio\nspec:epub-34; type:element; text:audio\n<{audio}>"
    },
    {
        "lineNum": "23:9 of file 'audionode.include' (included by a block on 8574:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-MODE]'.\n{{ChannelCountMode/[CC-MODE]}}"
    },
    {
        "lineNum": "27:9 of file 'audionode.include' (included by a block on 8574:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-INTERP]'.\n{{ChannelInterpretation/[CC-INTERP]}}"
    },
    {
        "lineNum": "23:9 of file 'audionode.include' (included by a block on 8864:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-MODE]'.\n{{ChannelCountMode/[CC-MODE]}}"
    },
    {
        "lineNum": "27:9 of file 'audionode.include' (included by a block on 8864:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-INTERP]'.\n{{ChannelInterpretation/[CC-INTERP]}}"
    },
    {
        "lineNum": "23:9 of file 'audionode.include' (included by a block on 9123:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-MODE]'.\n{{ChannelCountMode/[CC-MODE]}}"
    },
    {
        "lineNum": "27:9 of file 'audionode.include' (included by a block on 9123:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-INTERP]'.\n{{ChannelInterpretation/[CC-INTERP]}}"
    },
    {
        "lineNum": "23:9 of file 'audionode.include' (included by a block on 9899:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-MODE]'.\n{{ChannelCountMode/[CC-MODE]}}"
    },
    {
        "lineNum": "27:9 of file 'audionode.include' (included by a block on 9899:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-INTERP]'.\n{{ChannelInterpretation/[CC-INTERP]}}"
    },
    {
        "lineNum": "23:9 of file 'audionode.include' (included by a block on 9968:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-MODE]'.\n{{ChannelCountMode/[CC-MODE]}}"
    },
    {
        "lineNum": "27:9 of file 'audionode.include' (included by a block on 9968:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-INTERP]'.\n{{ChannelInterpretation/[CC-INTERP]}}"
    },
    {
        "lineNum": "23:9 of file 'audionode.include' (included by a block on 10081:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-MODE]'.\n{{ChannelCountMode/[CC-MODE]}}"
    },
    {
        "lineNum": "27:9 of file 'audionode.include' (included by a block on 10081:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-INTERP]'.\n{{ChannelInterpretation/[CC-INTERP]}}"
    },
    {
        "lineNum": "23:9 of file 'audionode.include' (included by a block on 10722:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-MODE]'.\n{{ChannelCountMode/[CC-MODE]}}"
    },
    {
        "lineNum": "27:9 of file 'audionode.include' (included by a block on 10722:1)",
        "messageType": "link",
        "text": "No 'idl' refs found for '[CC-INTERP]'.\n{{ChannelInterpretation/[CC-INTERP]}}"
    },
    {
        "lineNum": "13391:1",
        "messageType": "warning",
        "text": "W3C policy requires Privacy Considerations and Security Considerations to be separate sections, but you appear to have them combined into one."
    },
    {
        "lineNum": null,
        "messageType": "failure",
        "text": "Did not generate, due to errors exceeding the allowed error level."
    }
]

This seems to be an issue with the Spec Generator service. PR Preview doesn't manage this service and so has no control over it. If you've identified an issue with it, you can report the issue to the maintainers of Spec Generator directly. Please be courteous. Thank you!

If you don't have enough information above to solve the error by yourself or if the issue doesn't seem related to Spec Generator, you can file an issue with PR Preview.

@mjwilson-google mjwilson-google requested a review from padenot May 6, 2026 23:06
Copy link
Copy Markdown
Member

@hoch hoch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add renderSizeHint handling to AudioContext constructor renderSizeHint fingerprinting concerns with "hardware" hint

2 participants