NOTE: Good examples of when a User Agent can ignore
@@ -2395,9 +2396,10 @@
- keyFrame
-
- A value of `true` indicates that the given frame MUST be encoded as a key
- frame. A value of `false` indicates that the User Agent has flexibility to
- decide whether the frame will be encoded as a [=key frame=].
+ A value of `true` indicates that the given frame
+ MUST be encoded as a key frame. A value of `false`
+ indicates that the User Agent has flexibility to decide whether the frame
+ will be encoded as a [=key frame=].
@@ -3245,24 +3247,26 @@
but audio content using 24-bit samples is common, so 32-bits integers are
commonly used to hold 24-bit content.
-{{AudioData}} containing 24-bit samples SHOULD store those samples in {{s32}} or
-{{f32}}. When samples are stored in {{s32}}, each sample MUST be left-shifted by
-`8` bits. By virtue of this process, samples outside of the valid 24-bit range
-([-8388608, +8388607]) will be clipped. To avoid clipping and ensure lossless
-transport, samples
MAY be converted to {{f32}}.
+{{AudioData}} containing 24-bit samples
SHOULD store those
+samples in {{s32}} or {{f32}}. When samples are stored in {{s32}}, each sample
+
MUST be left-shifted by `8` bits. By virtue of this
+process, samples outside of the valid 24-bit range ([-8388608, +8388607]) will
+be clipped. To avoid clipping and ensure lossless transport, samples
+
MAY be converted to {{f32}}.
NOTE: While clipping is unavoidable in {{u8}}, {{s16}}, and {{s32}} samples due
-to their storage types, implementations SHOULD take care not to clip internally
-when handling {{f32}} samples.
+to their storage types, implementations
SHOULD take
+care not to clip internally when handling {{f32}} samples.
### Audio channel ordering ### {#audio-channel-ordering}
When decoding, the ordering of the audio channels in the resulting {{AudioData}}
-MUST be the same as what is present in the {{EncodedAudioChunk}}.
+
MUST be the same as what is present in the
+{{EncodedAudioChunk}}.
When encoding, the ordering of the audio channels in the resulting
-{{EncodedAudioChunk}} MUST be the same as what is preset in the given
-{{AudioData}};
+{{EncodedAudioChunk}}
MUST be the same as what is
+preset in the given {{AudioData}}.
In other terms, no channel reordering is performed when encoding and decoding.
@@ -3820,8 +3824,8 @@
:: 1. If |overrideColorSpace| is provided, return a new {{VideoColorSpace}}
constructed with |overrideColorSpace|.
- User Agents MAY replace `null` members of the provided
- |overrideColorSpace| with guessed values as determined by implementer
+ User Agents
MAY replace `null` members of the
+ provided |overrideColorSpace| with guessed values as determined by implementer
defined heuristics.
2. Otherwise, if {{VideoFrame/[[format]]}} is an [=RGB format=] return a new
@@ -4333,7 +4337,8 @@
integer. Samples are arranged starting at the top left of the image.
The visible rectangle offset ({{VideoFrame/visibleRect}}.{{DOMRectInit/x}}
- and {{VideoFrame/visibleRect}}.{{DOMRectInit/y}}) MUST be even.
+ and {{VideoFrame/visibleRect}}.{{DOMRectInit/y}})
+
MUST be even.
I420A
@@ -4360,7 +4365,8 @@
integer. Samples are arranged starting at the top left of the image.
The visible rectangle offset ({{VideoFrame/visibleRect}}.{{DOMRectInit/x}}
- and {{VideoFrame/visibleRect}}.{{DOMRectInit/y}}) MUST be even.
+ and {{VideoFrame/visibleRect}}.{{DOMRectInit/y}})
+ MUST be even.
{{I420A}}'s [=equivalent opaque format=] is {{I420}}.
@@ -4387,7 +4393,7 @@
are arranged starting at the top left of the image.
The visible rectangle offset ({{VideoFrame/visibleRect}}.{{DOMRectInit/x}})
- MUST be even.
+
MUST be even.
I444
@@ -4430,7 +4436,8 @@
at the top left of the image.
The visible rectangle offset ({{VideoFrame/visibleRect}}.{{DOMRectInit/x}}
- and {{VideoFrame/visibleRect}}.{{DOMRectInit/y}}) MUST be even.
+ and {{VideoFrame/visibleRect}}.{{DOMRectInit/y}})
+ MUST be even.
An image in the NV12 pixel format that is 16 pixels wide and 10 pixels tall
@@ -5575,14 +5582,14 @@
Resource Reclamation{#resource-reclamation}
==============================================
-When resources are constrained, a User Agent MAY proactively reclaim codecs.
-This is particularly true in the case where hardware codecs are limited, and
-shared accross web pages or platform apps.
+When resources are constrained, a User Agent MAY
+proactively reclaim codecs. This is particularly true in the case where hardware
+codecs are limited, and shared accross web pages or platform apps.
-To reclaim a codec, a User Agent MUST run the appropriate
-close algorithm (amongst [=Close AudioDecoder=], [=Close AudioEncoder=],
-[=Close VideoDecoder=] and [=Close VideoEncoder=]) with a {{QuotaExceededError}}
-{{DOMException}}.
+To reclaim a codec, a User Agent MUST run
+the appropriate close algorithm (amongst [=Close AudioDecoder=],
+[=Close AudioEncoder=], [=Close VideoDecoder=] and [=Close VideoEncoder=]) with
+a {{QuotaExceededError}} {{DOMException}}.
The rules governing when a codec may be reclaimed depend on whether the codec is
an [=active=] or [=inactive=] codec and/or a [=background=] codec.
@@ -5604,13 +5611,13 @@
{{ownerDocument}} (or [=owner set=]'s {{Document}}, for codecs in workers) has a
{{Document/hidden}} attribute equal to `true`.
-A User Agent MUST only [=reclaim a codec=] that is either an
-[=inactive codec=], a [=background codec=], or both. A User Agent MUST NOT
-reclaim a codec that is both [=active=] and in the foreground, i.e. not a
-[=background codec=].
+A User Agent MUST only [=reclaim a codec=] that is
+either an [=inactive codec=], a [=background codec=], or both. A User Agent
+MUST NOT reclaim a codec that is both [=active=] and in
+the foreground, i.e. not a [=background codec=].
-Additionally, User Agents MUST NOT reclaim an [=active=] [=background=] codec
-if it is:
+Additionally, User Agents MUST NOT reclaim an [=active=]
+[=background=] codec if it is:
- An encoder, e.g. an {{AudioEncoder}} or {{VideoEncoder}}.
NOTE: This prevents long running encode tasks from being interrupted.