-
Notifications
You must be signed in to change notification settings - Fork 139
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Revise hardwareAcceleration based on consensus decision. #313
Conversation
* It's now a hint instead of being required. * Values are noPreference, preferSoftware, and preferHardware. Fixes: #239
During the AudioSampleFormat discussion it was decided we should be using lower case plus dashes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to have a bit of prose somewhere that does the rejection in the case the UA decides to reject, right? I thought we had something in the current text but I can't find anything.
Probably just a rather vague line in the valid VideoDecoderConfig
steps or something.
Yeah I thought we had one as well. Done. |
"allow", | ||
"deny", | ||
"require", | ||
"no-preference", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As discussed in #239, I tend to prefer a more descriptive default value.
@dalecurtis mentionned renaming no-preference to prefer-efficiency if we can all agree on this default behavior.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no-preference is fine. I've also seen "balanced" used.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I find this rather descriptive. In passing this value, the author explicitly signals that they don't have any particular preference, and defers to the UA to make the decision on what decoder to use, based on the scenario characteristics (on battery power, video resolution, etc.).
I am fine with a MUST. I would try to be more straightforward in the way to state it. |
@youennf the current text is accurate, I've changed the wording slightly (avoid => prevent, SHOULD => MUST), but per editors consensus rejection using the preference will be allowed if it doesn't expose any fingerprinting information. |
Can you describe what is the advantage of the current PR wording? |
We've discussed this extensively on the issue, but to recap: the advantage is a clearer articulation of capabilities to developers (ideally resulting in a better end user experience) for UAs which have exposed equivalent information through Media Capabilities or other mechanisms.
As for cases where it won't reveal additional fingerprinting, that's going to depend on the UA's implementation of other APIs. If a UA doesn't expose Media Capabilities or doesn't reveal hardware acceleration through the For example, in Chromium software decoders are known based on major version, so no additional information is revealed with the |
In that case, let's be specific, being open-ended makes the whole sentence weak, I believe we can safely remove 'or other web exposed capability systems the User Agent may provide'. |
Done, I've made the text clearer. |
"allow", | ||
"deny", | ||
"require", | ||
"no-preference", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I find this rather descriptive. In passing this value, the author explicitly signals that they don't have any particular preference, and defers to the UA to make the decision on what decoder to use, based on the scenario characteristics (on battery power, video resolution, etc.).
This is covered by step 3 of the Check Configuration Support algo.
It intentionally doesn't reference individual attributes of the config, since that would be a long list and the current text is pretty clear. This algo is invoked for both IsConfigSupported() and for the support checks that take place during configure(). I'll take the liberty of reverting @dalecurtis commit to check this in the config validation steps. The semantics of that algo are "is your input valid" which we want to distinguish from "supported". This algo is called earlier on in the synchronous steps of the methods that take configs and produces rejection via TypeError (invalid input). |
This reverts commit 230aa31. See reasining here #313 (comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Looks like all comments are addressed. On naming, sticking w/ "no-preference" given majority approval.
SHA: 6f90d4e Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: 6f90d4e Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: 6f90d4e Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: 6f90d4e Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: 6f90d4e Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: 6f90d4e Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: 6f90d4e Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: 6f90d4e Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: 6f90d4e Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
SHA: 6f90d4e Reason: push, by @chcunningham Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Fixes: #239
Preview | Diff