isConfigSupported: definition of "invalid"
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
从 issue 中引用的规范文本开始,并在 Chromium 和 Safari 中复现 https://webrtc.internaut.com/wc/isup2/ 上的实时示例。比较 VideoEncoder.isConfigSupported 和 VideoDecoder.isConfigSupported 如何处理不支持的 scalabilityMode 值;当规范与实现之间的差异得到明确解决时,即视为完成。
由索引模型根据 Issue 内容生成。
描述
The behavior of isConfigSupported API for unsupported configurations is different on Chromium and Safari.
The specification says (for Audio and Video encoders and decoders):
"If config is not a valid.... return a promise rejected with TypeError."
However, the definition of "invalid" appears to differ between implementations.
On Chromium, when an unsupported scalabilityMode value is provided, the promise resolves with supported set to "false", but on Safari, the promise is rejected.
Live example: https://webrtc.internaut.com/wc/isup2/
A snippet:
async function modeProperties(mode, enc, config) {
config.scalabilityMode = mode;
if (enc == 'true') {
// check whether the encoder supports the configuration
try {
const encoderSupport = await VideoEncoder.isConfigSupported(config);
if (encoderSupport.supported) {
addToEventLog('For encode ' + preferredCodec + ' ' + mode + ' is supported');
} else {
addToEventLog('For encode ' + preferredCodec + ' ' + mode + ' is NOT supported');
//addToEventLog('Config details:\n' + JSON.stringify(encoderSupport.config));
}
} catch (e) {
// Safari will end up here for unsupported scalabilityMode values, Chromium will not
addToEventLog('For encode ' + preferredCodec + ' ' + mode + ' is considered INVALID');
}
} else {
// check whether the decoder supports the configuration
try {
const decoderSupport = await VideoDecoder.isConfigSupported(config);
if (decoderSupport.supported) {
addToEventLog('For decode ' + preferredCodec + ' ' + mode + ' is supported');
} else {
addToEventLog('For decode ' + preferredCodec + ' ' + mode + ' is NOT supported');
}
} catch (e) {
// Safari will end up here for unsupported scalabilityMode values, Chromium will not
addToEventLog('For decode ' + preferredCodec + ' ' + mode + ' is considered INVALID');
}
}
}
- 主要语言
- HTML
- 星标
- 1.3k
- 派生
- 192
- 平均合并
- 21 小时 7 分钟
- 30 天内合并 PR
- 8
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
w3c/webcodecs 的其他 Issue
-
privacy-needs-resolution
难度 1/5 1 小时以内 新手友好度 65/100
维护者通常 1 天内回复
-
editorial
难度 1/5 1 小时以内 新手友好度 68/100
维护者通常 1 天内回复
-
难度 3/5 1-2 天 新手友好度 55/100
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 35/100
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 25/100
维护者通常 1 天内回复
相似的 Issue
-
Notifications pagination accepts NaN and negative LIMIT/OFFSET可能已有人在做 @Senthil455 今天认领。 未关闭BUGS MEDIUM
难度 2/5 1-3 小时 新手友好度 62/100
elixpo/blogs.elixpo#419 · 2 条评论 ·
维护者通常 1 天内回复
-
[Bug]: agent_final_response still returns the abandoned branch's answer after navigate moves HEAD back可能已有人在做 @enyst 今天认领。 未关闭bug priority:low ready-for-dev
难度 2/5 1-3 小时 新手友好度 72/100
OpenHands/software-agent-sdk#5822 ·
维护者通常 1 天内回复
-
area: server enhancement good first issue
难度 2/5 1-3 小时 新手友好度 82/100
scs0209/laya-guard#52 ·
维护者通常 1 天内回复
-
priority:high
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100