diff --git a/celt b/celt index c914f5ea..d25dd2bf 160000 --- a/celt +++ b/celt @@ -1 +1 @@ -Subproject commit c914f5ea509bfb0274858e6f2794bd1f7e3df57a +Subproject commit d25dd2bff9f111fcc8d2de802c1cca337db27873 diff --git a/doc/draft-ietf-codec-opus.xml b/doc/draft-ietf-codec-opus.xml index 45f36fd6..afbfa936 100644 --- a/doc/draft-ietf-codec-opus.xml +++ b/doc/draft-ietf-codec-opus.xml @@ -2,7 +2,7 @@ - + Definition of the Opus Audio Codec @@ -39,7 +39,7 @@ - + General @@ -198,11 +198,21 @@ There is thus a total of 32 configurations, encoded in 5 bits. One bit is used t 3: arbitrary number of frames in the packet For code 2, the TOC byte is followed by the length of the first frame, encoded as described below. -For code 3, the TOC byte is followed by a byte encoding the number of frames in the packet, with the MSB indicating VBR. In the VBR case, the byte indicating the number of frames is followed by N-1 frame +For code 3, the TOC byte is followed by a byte encoding the number of frames in the packet, with +bit 7 indicating VBR and bit 6 indicating that padding is inserted. In the VBR case, the byte +indicating the number of frames is followed by N-1 frame lengths encoded as described below. As an additional limit, the audio duration contained within a packet MUST NOT exceed 120 ms. + +When padding is used, the number of bytes of padding is encoded in the following bytes. Values +from 0-254 indicate that 0-254 bytes of padding are included at the end. If the value is 255, +then the padding is 254 bytes, plus the padding value encoded in the next byte. By using code +255 multiple times, it is possible to add any amount of padding. The padding bytes produced by +the encoder MUST be zero, but the decoder MUST accept any value for the padding bytes. + + The compressed size of the frames (if needed) is indicated -- usually -- with one byte, with the following meaning: @@ -2031,8 +2041,9 @@ This document has no actions for IANA. Thanks to all other developers, including Raymond Chen, Soeren Skak Jensen, Gregory Maxwell, Christopher Montgomery, Karsten Vandborg Soerensen, and Timothy Terriberry. We would also -like to thank Igor Dyakonov, Jan Skoglund and Keith Yan for their help in testing the -codec. +like to thank Igor Dyakonov, Jan Skoglund for their help with subjective testing of the +Opus codec. Thanks to John Ridges, Keith Yan and many others on the Opus and CELT mailing lists +for their bug reports and feeback. diff --git a/src/opus.h b/src/opus.h index f3704a5c..c328b97d 100644 --- a/src/opus.h +++ b/src/opus.h @@ -49,7 +49,7 @@ extern "C" { /** An (or more) invalid argument (e.g. out of range) */ #define OPUS_BAD_ARG -1 /** The mode struct passed is invalid */ -#define OPUS_INVALID_MODE -2 +#define OPUS_BUFFER_TOO_SMALL -2 /** An internal error was detected */ #define OPUS_INTERNAL_ERROR -3 /** The data passed (e.g. compressed data to decoder) is corrupted */