Technical Summary
This document addresses minor issues that were found in the
specification of the Opus audio codec in RFC 6716. That RFC
normatively specifies the Opus decode in the form of C code
attached as appendix A. The updates in this draft are primarily
done as a series of small patches to that code.
Working Group Summary
Jonathan Rosenberg, then WG chair, originally stated that
updates to RFC 6716 would be handled via the normal errata
process. However, after conferring with our ADs, he and the chairs
decided that handling these via a new draft would avoid any
questions about overriding WG consensus. That decision was
announced by the chairs in 2013 with the first version of the draft.
Jonathan Rosenberg voiced his approval of it on the list afterwards,
and no one has raised an issue with it since then.
The WG held the document open for some time to give people a
chance to find new issues, but the rate of new reports has dropped
off, and the last issue was reported in October. Thus there is
likely not much value in further postponing publication.
Document Quality
The updates have been implemented in libopus 1.2, released
on 20 June 2017. They were available in pre-release versions
for testing purposes for nearly a year prior (several years, for
some of the changes). Currently they require a special option
to enable them at configuration time. The authors expect to
remove that option (enabling the updates by default) in a new
version of libopus once this document is published as an RFC.
Most users of libopus, which includes all of the major browsers,
Android, iOS, and many others, will then get the new behavior
once they upgrade. The authors of the Opus decoder in FFmpeg,
another open source implementation, have also stated their
intention to implement the updates in this draft.
Mark Harris, Tina le Grand, and Jonathan Lennox all performed
detailed reviews. Mark Harris is a long time contributor to the
libopus open source project, with a deep familiarity with the
codebase and a long track record of finding bugs and issues with
new changes to it. Tina le Grand is the primary developer responsible
for Opus's integration into WebRTC for Chrome, and Jonathan Lennox
is the primary developer responsible for Opus's integration into Vidyo's
products. Both have a number of contributions to the open source project
and are familiar with the design and implementation of Opus. All three
had a number of editorial suggestions, but identified no major issues
with any of the proposed fixes. Additional review was performed by
Ralph Giles, Michael Graczyk, Ron Lee, Felicia Lim, Gregory Maxwell,
and Jan Skoglund.
Personnel
Document Shepherd: Timothy B. Terriberry
Responsible Area Director: Ben Campbell