electron / libchromiumcontent

Shared library build of Chromium’s Content module
MIT License
485 stars 183 forks source link

Add patch to fix long jitter buffer delays with Opus and DTX. #532

Closed ajmacd closed 6 years ago

ajmacd commented 6 years ago

This backports the fix for: https://bugs.chromium.org/p/webrtc/issues/detail?id=8488 which landed upstream in M64.

It's a critical fix for any WebRTC service that makes use of discontinuous transmission (DTX), like Slack calls. When it is triggered, the bug manifests as increased delays and severe audio dropouts.

The patch is a combination of these two CLs: https://webrtc-review.googlesource.com/c/src/+/18181 https://webrtc-review.googlesource.com/c/src/+/44420 (the latter just to make the fix permanent)

Testing I can repro the issue in Slack. I verified a build with this patch against the electron-2-0-x branch resolves it.

alexeykuzmin commented 6 years ago

@ajmacd Is it a straight backport from the WebRTC upstream or you had to make some changes?

ajmacd commented 6 years ago

The field trial is complete and was deemed successful. As mentioned in the PR description (although I certainly could have made this more clear) the patch is an exact application of these two upstream CLs: https://webrtc-review.googlesource.com/c/src/+/18181 https://webrtc-review.googlesource.com/c/src/+/44420

the latter of which reverts the field trial and makes the change permanent.

ajmacd commented 6 years ago

Actually not an exact application. I omitted the unit test revert in the latter CL, which wasn't made in the original.

ajmacd commented 6 years ago

Sure thing! 🙌