Re: [webrtc-stats] Add deceleratedSamples and acceleratedSamples (#408)

There are different ways of achieving faster/slower audio. In the
description of the stat we have not specified what the content is of the
samples that are added/removed. In Chrome's WebRTC implementation we try to
find a repeating pattern in the audio and then we add one or more extra
repetition to slow down the audio (or remove on or more repetitions to
speed it up). There are various alternative methods that could be used to
achieve the same effect. However, the one thing that any method of
increasing or reducing the speed of audio has in common is that samples
must be added/removed, which is what the stats are supposed to reflect.

In normal operation, the task of the JB is to maintain an adequate buffer
level to be able to handle network jitter. If network conditions change
during a call, the JB needs to respond to this change by increasing or
reducing the buffer level. This can be achieved by increasing/decreasing
the playout speed of the audio.

These operations don't have to operate on a per-packet basis, it is
entirely possible to add/remove any number of samples after the packets
have been decoded (and this is exactly what we do in Chrome's WebRTC).
There is no reason for the audio in the playout buffer to be aligned with
the incoming audio packets.

deceleratedSamples is similar to concealedSamples, but they are not the
same. Packet loss concealment (concealedSamples) happens when the packet
containing the necessary audio hasn't been received, and can last for a
long time (network freeze) and result in significant audio degradation
(e.g. robot voice). This should be rare if the user is on a good connection.
On the other hand, deceleratedSamples is part of the normal operation for a
jitter buffer and happens when the JB wants to increase its buffer level to
adapt to changing network conditions. A good implementation is almost
inaudible for users.

On Mon, Mar 18, 2019 at 3:30 PM Varun Singh <notifications@github.com>
wrote:

> How is deceleratedSamples different from concealedSamples?
>
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub
> <https://github.com/w3c/webrtc-stats/pull/408#issuecomment-473933595>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/ARGCoreZhV_MNWx7ef_8Osl5fPeIH1W5ks5vX6MKgaJpZM4b5WP7>
> .
>


-- 
GitHub Notification of comment by ivocreusen
Please view or discuss this issue at https://github.com/w3c/webrtc-stats/pull/408#issuecomment-473946032 using your GitHub account

Received on Monday, 18 March 2019 14:59:15 UTC