Skip to content

Commit

Permalink
Add "only exists" clause to various audio/video stats (#774)
Browse files Browse the repository at this point in the history
* [editorial] add "only exists" clause to various audio/video stats

and add linebreaks after those clauses.
Also sync definition of "mid" stat between inbound-rtp and outbound-rtp

* use [=map/exist | not present=]

---------

Co-authored-by: Jan-Ivar Bruaroey <[email protected]>
  • Loading branch information
fippo and jan-ivar authored Jan 11, 2024
1 parent bc223da commit 12c9dd3
Showing 1 changed file with 48 additions and 21 deletions.
69 changes: 48 additions & 21 deletions webrtc-stats.html
Original file line number Diff line number Diff line change
Expand Up @@ -1137,6 +1137,7 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio.
Total number of seconds that have been spent decoding the {{framesDecoded}}
frames of this stream. The average decode time can be calculated by dividing this
value with {{framesDecoded}}. The time it takes to decode one frame is the
Expand Down Expand Up @@ -1177,6 +1178,7 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio.
Count the total number of video pauses experienced by this receiver.
Video is considered to be paused if time passed since last rendered
frame exceeds 5 seconds. {{pauseCount}} is incremented when a frame
Expand All @@ -1189,6 +1191,7 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio.
Total duration of pauses (for definition of pause see {{pauseCount}}),
in seconds. This value is updated when a frame is rendered.
</p>
Expand All @@ -1199,6 +1202,7 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio.
Count the total number of video freezes experienced by this receiver.
It is a freeze if frame duration, which is time interval between two
consecutively rendered frames, is equal or exceeds
Expand All @@ -1213,6 +1217,7 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio.
Total duration of rendered frames which are considered as frozen (for
definition of freeze see {{freezeCount}}), in seconds. This value
is updated when a frame is rendered.
Expand Down Expand Up @@ -1637,6 +1642,7 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for video.
If audio playout is happening, this is used to look up the
corresponding {{RTCAudioPlayoutStats}}.
</p>
Expand All @@ -1650,6 +1656,7 @@ <h2>
Does not [= map/exist =] unless [= exposing hardware is allowed =].
</p>
<p>
Does not [= map/exist =] for audio.
Whether the decoder currently used is considered power
efficient by the user agent. This SHOULD reflect if the
configuration results in hardware acceleration, but the user
Expand All @@ -1663,7 +1670,8 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio. It represents the total number of frames correctly decoded
Does not [= map/exist =] for audio.
It represents the total number of frames correctly decoded
for this RTP stream that consist of more than one RTP packet. For such frames the
{{totalAssemblyTime}} is incremented. The average frame assembly time can be calculated by
dividing the {{totalAssemblyTime}} with {{framesAssembledFromMultiplePackets}}.
Expand All @@ -1675,7 +1683,8 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio. The sum of the time, in seconds, each video frame takes
Does not [= map/exist =] for audio.
The sum of the time, in seconds, each video frame takes
from the time the first RTP packet is received (reception timestamp) and to the time
the last RTP packet of a frame is received. Only incremented for frames consisting of more
than one RTP packet.
Expand Down Expand Up @@ -1913,9 +1922,9 @@ <h2>
</dt>
<dd>
<p>
Only [= map/exist =]s if the {{RTCRtpTransceiver}} owning this stream has a
{{RTCRtpTransceiver/mid}} value that is not null. this is that
value.
If the {{RTCRtpTransceiver}} owning this stream has a
{{RTCRtpTransceiver/mid}} value that is not null, this is that
value, otherwise this member is [=map/exist | not present=].
</p>
</dd>
<dt>
Expand Down Expand Up @@ -2020,6 +2029,7 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio.
This value is increased by the target frame size in bytes every time a frame has
been encoded. The actual frame size may be bigger or smaller than this number.
This value goes up every time {{framesEncoded}} goes up.
Expand All @@ -2031,7 +2041,8 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio. Represents the width of the last encoded frame. The resolution
Does not [= map/exist =] for audio.
Represents the width of the last encoded frame. The resolution
of the encoded frame may be lower than the media source (see {{RTCVideoSourceStats.width}}).
Before the first frame is encoded this member does not [= map/exist =].
</p>
Expand All @@ -2042,7 +2053,8 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio. Represents the height of the last encoded frame. The resolution
Does not [= map/exist =] for audio.
Represents the height of the last encoded frame. The resolution
of the encoded frame may be lower than the media source (see {{RTCVideoSourceStats.height}}).
Before the first frame is encoded this member does not [= map/exist =].
</p>
Expand All @@ -2053,7 +2065,8 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio. The number of encoded frames during the last second. This may be
Does not [= map/exist =] for audio.
The number of encoded frames during the last second. This may be
lower than the media source frame rate (see {{RTCVideoSourceStats.framesPerSecond}}).
</p>
</dd>
Expand All @@ -2063,7 +2076,8 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio. Represents the total number of frames sent on this <a>RTP stream</a>.
Does not [= map/exist =] for audio.
Represents the total number of frames sent on this <a>RTP stream</a>.
</p>
</dd>
<dt>
Expand All @@ -2072,7 +2086,8 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio. Represents the total number of huge frames sent by this RTP
Does not [= map/exist =] for audio.
Represents the total number of huge frames sent by this RTP
stream. Huge frames, by definition, are frames that have an encoded size at least
2.5 times the average size of the frames. The average size of the frames is defined
as the target bitrate per second divided by the target FPS at the time the frame was
Expand All @@ -2093,7 +2108,8 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio. It represents the total number of frames successfully
Does not [= map/exist =] for audio.
It represents the total number of frames successfully
encoded for this RTP media stream.
</p>
</dd>
Expand All @@ -2103,7 +2119,8 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio. It represents the total number of key frames, such as key
Does not [= map/exist =] for audio.
It represents the total number of key frames, such as key
frames in VP8 [[RFC6386]] or IDR-frames in H.264 [[RFC6184]], successfully
encoded for this RTP media stream. This is a subset of
{{framesEncoded}}. <code>framesEncoded - keyFramesEncoded</code> gives
Expand All @@ -2116,7 +2133,8 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio. The sum of the QP values of frames encoded by this sender.
Does not [= map/exist =] for audio.
The sum of the QP values of frames encoded by this sender.
The count of frames is in {{framesEncoded}}.
</p>
<p>
Expand All @@ -2136,6 +2154,7 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio.
Total number of seconds that has been spent encoding the {{framesEncoded}}
frames of this stream. The average encode time can be calculated by dividing this
value with {{framesEncoded}}. The time it takes to encode one frame is the
Expand Down Expand Up @@ -2163,7 +2182,8 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio. The current reason for limiting the resolution and/or
Does not [= map/exist =] for audio.
The current reason for limiting the resolution and/or
framerate, or {{RTCQualityLimitationReason/"none"}} if not limited.
</p>
<p>
Expand All @@ -2188,7 +2208,8 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio. A record of the total time, in seconds, that this stream
Does not [= map/exist =] for audio.
A record of the total time, in seconds, that this stream
has spent in each quality limitation state. The record includes a mapping for all
{{RTCQualityLimitationReason}} types, including {{RTCQualityLimitationReason/"none"}}.
</p>
Expand All @@ -2203,7 +2224,8 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio. The number of times that the resolution has changed because
Does not [= map/exist =] for audio.
The number of times that the resolution has changed because
we are quality limited ({{qualityLimitationReason}} has a value other than
{{RTCQualityLimitationReason/"none"}}). The counter is initially zero and increases when the
resolution goes up or down. For example, if a 720p track is sent as 480p for some
Expand All @@ -2227,7 +2249,8 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio. Count the total number of Full Intra Request (FIR) packets,
Does not [= map/exist =] for audio.
Count the total number of Full Intra Request (FIR) packets,
as defined in [[!RFC5104]] section 4.3.1, received by this sender. Does not count the RTCP FIR
indicated in [[?RFC2032]] which was deprecated by [[?RFC4587]].
</p>
Expand All @@ -2238,7 +2261,8 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio. Count the total number of Picture Loss Indication (PLI)
Does not [= map/exist =] for audio.
Count the total number of Picture Loss Indication (PLI)
packets, as defined in [[!RFC4585]] section 6.3.1, received by this sender
</p>
</dd>
Expand All @@ -2251,7 +2275,8 @@ <h2>
Does not [= map/exist =] unless [= exposing hardware is allowed =].
</p>
<p>
Does not [= map/exist =] for audio. Identifies the encoder implementation used.
Does not [= map/exist =] for audio.
Identifies the encoder implementation used.
This is useful for diagnosing interoperability issues.
</p>
</dd>
Expand All @@ -2264,7 +2289,8 @@ <h2>
Does not [= map/exist =] unless [= exposing hardware is allowed =].
</p>
<p>
Does not [= map/exist =] for audio. Whether the encoder
Does not [= map/exist =] for audio.
Whether the encoder
currently used is considered power efficient by the user agent.
This SHOULD reflect if the configuration results in hardware acceleration,
but the user agent MAY take other information into account when deciding if
Expand All @@ -2288,7 +2314,8 @@ <h2>
</dt>
<dd>
<p>
Does not [= map/exist =] for audio. Only [= map/exist =]s when a
Does not [= map/exist =] for audio.
Only [= map/exist =]s when a
<a href="https://w3c.github.io/webrtc-svc/#scalabilitymodes*">
scalability mode</a> is currently configured for this <a>RTP stream</a>.
</p>
Expand Down

0 comments on commit 12c9dd3

Please sign in to comment.