Skip to content

Commit 633313b

Browse files
committed
{Audio,Video}DecoderConfig with detached description are invalid
This is what Chromium (at least) does. This means isConfigSupported and configure will now throw if description has been detached. This also fixes a bug in the ImageDecoder version of this. This fixes #762.
1 parent 9e0f22e commit 633313b

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

index.src.html

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1916,7 +1916,9 @@
19161916
1. If {{AudioDecoderConfig/codec}} is empty after
19171917
[=strip leading and trailing ASCII whitespace|stripping leading and trailing ASCII whitespace=],
19181918
return `false`.
1919-
2. Return `true`.
1919+
2. If the result of running IsDetachedBuffer (described in
1920+
[[!ECMASCRIPT]]) on {{AudioDecoderConfig/description}} is `true`, return `false`.
1921+
3. Return `true`.
19201922

19211923
<dl>
19221924
<dt><dfn dict-member for=AudioDecoderConfig>codec</dfn></dt>
@@ -1970,7 +1972,9 @@
19701972
return `false`.
19711973
5. If {{VideoDecoderConfig/displayAspectWidth}} = 0 or
19721974
{{VideoDecoderConfig/displayAspectHeight}} = 0, return `false`.
1973-
6. Return `true`.
1975+
6. If the result of running IsDetachedBuffer (described in
1976+
[[!ECMASCRIPT]]) on {{VideoDecoderConfig/description}} is `true`, return `false`.
1977+
7. Return `true`.
19741978

19751979
<dl>
19761980
<dt><dfn dict-member for=VideoDecoderConfig>codec</dfn></dt>
@@ -5360,7 +5364,7 @@
53605364
[=ReadableStream/disturbed=] or [=ReadableStream/locked=], return `false`.
53615365
3. If |data| is of type {{BufferSource}}:
53625366
1. If the result of running IsDetachedBuffer (described in
5363-
[[!ECMASCRIPT]]) on |data| is `false`, return `false`.
5367+
[[!ECMASCRIPT]]) on |data| is `true`, return `false`.
53645368
2. If |data| [=list/is empty=], return `false`.
53655369
4. If {{ImageDecoderInit/desiredWidth}} [=map/exists=] and
53665370
{{ImageDecoderInit/desiredHeight}} does not exist, return `false`.

0 commit comments

Comments
 (0)