Skip to content
The opusfile and opusurl libraries provide a high-level API for
decoding and seeking within .opus files on disk or over http(s).

opusfile depends on libopus and libogg.
opusurl depends on opusfile and openssl.

 - Fix stack overflow buffering out-of-sequence streams.
 - Fix possible divide-by-zero.
 - Fix issues with seeking in the win32 backend.
 - Fix an issue where the seek algorithm could be confused
   by stream data changing between reads.
 - Clean up compiler and scan-build warnings.
 - Avoid use of the deprecated ftime() function
   which has Y2038 problems.
 - Remove undefined behaviour memcpy(NULL) in op_read_native().
 - Visual Studio project files updated for libogg 1.3.4 library name change.
 - Various build systems updates.
 - Various integration and testing environment improvements.

This release is backward-compatible with the previous
release. We recommend all users upgrade.

Note that because of the removal of certificate store hooks
in openssl 1.1.1 and later, there are unfortunately no
supported versions of that library which can be used with
the code in opusurl to validate https responses against
the system certificate store on Windows. Using the system
default access to the certificate store on other platforms
works fine.

Programming documentation is available in-tree and online
at https://opus-codec.org/docs/

The library is functional, but there are likely issues
we didn't find in our own testing. Please give feedback
in #opus on irc.freenode.net, opus@xiph.org, or at
https://gitlab.xiph.org/xiph/opusfile.