Opusfile tagshttps://gitlab.xiph.org/xiph/opusfile/-/tags2020-06-27T03:08:04Zhttps://gitlab.xiph.org/xiph/opusfile/-/tags/v0.12v0.12The 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.
<h1 data-sourcepos="1:1-1:23" dir="auto">
<a id="user-content-opusfile-version-012" class="anchor" href="#opusfile-version-012" aria-hidden="true"></a>opusfile version 0.12</h1>
<p data-sourcepos="3:1-4:64" dir="auto">The opusfile and opusurl libraries provide a high-level API for
decoding and seeking within .opus files on disk or over http(s).</p>
<p data-sourcepos="6:1-7:40" dir="auto">opusfile depends on libopus and libogg.
opusurl depends on opusfile and openssl.</p>
<h2 data-sourcepos="9:1-9:34" dir="auto">
<a id="user-content-changes-since-the-v011-release" class="anchor" href="#changes-since-the-v011-release" aria-hidden="true"></a>Changes since the v0.11 release</h2>
<ul data-sourcepos="11:2-23:0" dir="auto">
<li data-sourcepos="11:2-11:56">Fix stack overflow buffering out-of-sequence streams.</li>
<li data-sourcepos="12:2-12:31">Fix possible divide-by-zero.</li>
<li data-sourcepos="13:2-13:48">Fix issues with seeking in the win32 backend.</li>
<li data-sourcepos="14:2-15:41">Fix an issue where the seek algorithm could be confused
by stream data changing between reads.</li>
<li data-sourcepos="16:2-16:45">Clean up compiler and scan-build warnings.</li>
<li data-sourcepos="17:2-18:29">Avoid use of the deprecated ftime() function
which has Y2038 problems.</li>
<li data-sourcepos="19:2-19:63">Remove undefined behaviour memcpy(NULL) in op_read_native().</li>
<li data-sourcepos="20:2-20:76">Visual Studio project files updated for libogg 1.3.4 library name change.</li>
<li data-sourcepos="21:2-21:33">Various build systems updates.</li>
<li data-sourcepos="22:2-23:0">Various integration and testing environment improvements.</li>
</ul>
<p data-sourcepos="24:1-25:40" dir="auto">This release is backward-compatible with the previous
release. We recommend all users upgrade.</p>
<p data-sourcepos="27:1-33:11" dir="auto">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.</p>
<h2 data-sourcepos="35:1-35:20" dir="auto">
<a id="user-content-sha-256-checksums" class="anchor" href="#sha-256-checksums" aria-hidden="true"></a>SHA-256 checksums</h2>
<div class="gl-relative markdown-code-block js-markdown-code">
<pre data-sourcepos="37:5-39:0" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">118d8601c12dd6a44f52423e68ca9083cc9f2bfe72da7a8c1acb22a80ae3550b opusfile-0.12.tar.gz</span>
<span id="LC2" class="line" lang="plaintext">7f44575596b78d7787c1865b9653e2a71546ff1ae77d87c53ab16dcc7af295ba opusfile-0.12.zip</span></code></pre>
<copy-code></copy-code>
</div>
<p data-sourcepos="40:1-41:31" dir="auto">Programming documentation is available in-tree and online
at <a href="https://opus-codec.org/docs/" rel="nofollow noreferrer noopener" target="_blank">https://opus-codec.org/docs/</a></p>
<p data-sourcepos="43:1-46:38" dir="auto">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, <a href="mailto:opus@xiph.org">opus@xiph.org</a>, or at
<a href="https://gitlab.xiph.org/xiph/opusfile">https://gitlab.xiph.org/xiph/opusfile</a>.</p>2020-06-27T03:08:04ZRalph Gileshttps://gitlab.xiph.org/xiph/opusfile/-/tags/v0.11v0.11opusfile version 0.11
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.
Changes since the v0.10 release:
- Fix two potential integer overflows.
(These were not security-critical unless the compiler took the opportunity
provided by the undefined behavior to format your hard drive.)
- Allow JPEGs in METADATA_BLOCK_PICTURE tags to include EXIF data.
- A few warning fixes for gcc 8.
- Make opus_tags_copy return OP_EFAULT on failure instead of returning success.
- Various integration and testing environment improvements.
This release is backward-compatible with the previous
release. We recommend all users upgrade.
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 or at opus@xiph.org.
Programming documentation is available in tree and online
at https://opus-codec.org/docs/
<h1 data-sourcepos="1:1-1:23" dir="auto">
<a id="user-content-opusfile-version-011" class="anchor" href="#opusfile-version-011" aria-hidden="true"></a>opusfile version 0.11</h1>
<p data-sourcepos="3:1-4:64" dir="auto">The opusfile and opusurl libraries provide a high-level API for
decoding and seeking within .opus files on disk or over http(s).</p>
<p data-sourcepos="6:1-7:40" dir="auto">opusfile depends on libopus and libogg.
opusurl depends on opusfile and openssl.</p>
<h2 data-sourcepos="9:1-9:34" dir="auto">
<a id="user-content-changes-since-the-v010-release" class="anchor" href="#changes-since-the-v010-release" aria-hidden="true"></a>Changes since the v0.10 release</h2>
<ul data-sourcepos="10:2-17:0" dir="auto">
<li data-sourcepos="10:2-12:65">Fix two potential integer overflows.
(These were not security-critical unless the compiler took the opportunity
provided by the undefined behavior to format your hard drive.)</li>
<li data-sourcepos="13:2-13:67">Allow JPEGs in METADATA_BLOCK_PICTURE tags to include EXIF data.</li>
<li data-sourcepos="14:2-14:33">A few warning fixes for gcc 8.</li>
<li data-sourcepos="15:2-15:80">Make opus_tags_copy return OP_EFAULT on failure instead of returning success.</li>
<li data-sourcepos="16:2-17:0">Various integration and testing environment improvements.</li>
</ul>
<p data-sourcepos="18:1-19:40" dir="auto">This release is backward-compatible with the previous
release. We recommend all users upgrade.</p>
<h2 data-sourcepos="21:1-21:20" dir="auto">
<a id="user-content-sha-256-checksums" class="anchor" href="#sha-256-checksums" aria-hidden="true"></a>SHA-256 checksums</h2>
<div class="gl-relative markdown-code-block js-markdown-code">
<pre data-sourcepos="23:5-25:0" class="code highlight js-syntax-highlight language-plaintext" lang="plaintext" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">74ce9b6cf4da103133e7b5c95df810ceb7195471e1162ed57af415fabf5603bf opusfile-0.11.tar.gz</span>
<span id="LC2" class="line" lang="plaintext">23c5168026c4f1fc34843650135b409d0fc8cf452508163b4ece8077256ac6ff opusfile-0.11.zip</span></code></pre>
<copy-code></copy-code>
</div>
<p data-sourcepos="26:1-28:49" dir="auto">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 or at <a href="mailto:opus@xiph.org">opus@xiph.org</a>.</p>
<p data-sourcepos="30:1-31:31" dir="auto">Programming documentation is available in tree and online
at <a href="https://opus-codec.org/docs/" rel="nofollow noreferrer noopener" target="_blank">https://opus-codec.org/docs/</a></p>2020-06-26T16:51:46ZJean-Marc Valinhttps://gitlab.xiph.org/xiph/opusfile/-/tags/v0.10v0.10opusfile version 0.10
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.
Changes since the v0.9 release:
- Fix an out-of-bounds read matching serial numbers.
This release is backward-compatible with the previous
release. We recommend all users upgrade.
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 or at opus@xiph.org.
Programming documentation is available in tree and online
at https://opus-codec.org/docs/
Ralph Gileshttps://gitlab.xiph.org/xiph/opusfile/-/tags/v0.9v0.9opusfile version 0.9
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.
Changes since the v0.8 release:
- Fix an invalid free with tag handling.
- Improve handling of corrupt streams.
- Improve performance on streams with many chain segments.
- Improve TLS host validation.
- Align op_raw_total to work better with op_raw_seek.
- Documentation and build improvements.
This release is backward-compatible with the previous
release. We recommend all users upgrade.
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 or at opus@xiph.org.
Programming documentation is available in tree and online
at https://opus-codec.org/docs/
Ralph Gileshttps://gitlab.xiph.org/xiph/opusfile/-/tags/v0.8v0.8opusfile version 0.8
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.
Changes since the v0.7 release:
- Add support for OpenSSL 1.1.x.
- Fix issues with tag parsing introduced in v0.7.
- Fix skip logic for multiplexed non-Opus data.
This release is backward-compatible with the previous
release. We recommend all users upgrade.
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 or at opus@xiph.org.
Programming documentation is available in tree and online
at https://opus-codec.org/docs/
Ralph Gilesgiles@mozilla.comhttps://gitlab.xiph.org/xiph/opusfile/-/tags/v0.7v0.7opusfile version 0.7
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.
Changes since the v0.6 release:
- Add API to access and preserve binary metadata.
- Add support for R128_ALBUM_GAIN metadata tag.
- Better seeking with continued packets and multiplexed streams.
- Portability and build fixes.
This release is backward-compatible with the previous
release but contains updates to conform with the latest
IETF Ogg Opus draft, important performance enhancements,
and bug fixes. We recommend all users upgrade.
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 or at opus@xiph.org.
Programming documentation is available in tree and online
at http://opus-codec.org/docs/
Ralph Gilesgiles@mozilla.comhttps://gitlab.xiph.org/xiph/opusfile/-/tags/v0.6v0.6opusfile version 0.6
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.
Changes since the v0.5 release:
- Fix bugs with comment handling
- Fix build for BSD
- Fix bugs handling invalid and non-opus streams
Some of these bugs kept basic functionality of the APIs from
working at all, so we recommend all users upgrade.
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 or at opus@xiph.org.
Programming documentation is available in tree and online
at http://opus-codec.org/docs/
Ralph Gilesgiles@mozilla.comhttps://gitlab.xiph.org/xiph/opusfile/-/tags/v0.5v0.5opusfile version 0.5
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.
Changes since the v0.4 release:
- Report HTTP (ICY) headers to client
- New tag comparison and copy functions
- New application decoding callback API for advanced clients
- New dither disable function for advanced clients
- constify API
- Avoid clipping downmixing from a fixed-point decoder
- Better practices for dual stack IPv6
- Documentation improvements
- Fix a unicode bug on Windows
- Fix proxy user/password macros
- Fix HTTP pipelining support detection
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 or at opus@xiph.org.
Programming documentation is available in tree and online
at http://opus-codec.org/docs/
Ralph Gilesgiles@mozilla.comhttps://gitlab.xiph.org/xiph/opusfile/-/tags/v0.4v0.4opusfile version 0.4
The opusfile and opusurl libraries provide a high-level API for
decoding and seeking within .opus files on disk or over http.
It depends on libopus, libogg, and openssl.
Changes since the previous release:
- New API to parse album art tags.
- Visual Studio project file fixes.
- Include Visual Studio projects in source package.
- Minor unicode fixes.
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 or at opus@xiph.org.
Ralph Gilesgiles@mozilla.comhttps://gitlab.xiph.org/xiph/opusfile/-/tags/v0.3v0.3opusfile version 0.3
The opusfile and opusurl libraries provide a high-level API for
decoding and seeking within .opus files on disk and over http.
It depends on libopus, libogg, and openssl.
Changes since the previous release:
- Fix a buffer overflow downmixing multichannel files.
- UTF-8 filename support on Windows.
- HTTP(S) url support on Windows.
- Support Windows system certificate store for HTTPS.
- New project files for MS Visual Studio.
- New gain control API with op_set_gain_offset() and op_get_track_gain().
- Documentation and build improvements.
- HTTP(S) support split into a separate opusurl library.
- Implement soft-clip for paths where libopus doesn't.
- opusfile_example now outputs WAV.
- Fix http basic auth.
- Fix 255 packet-per-page assert.
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 or at opus@xiph.org.
Ralph Gilesgiles@mozilla.comhttps://gitlab.xiph.org/xiph/opusfile/-/tags/v0.2v0.2opusfile version 0.2
This is the second release of libopusfile. Like libvorbisfile for
Vorbis files, libopusfile provides a high-level API for decoding
and seeking within .opus files.
Changes since the previous release:
- Accept valid SSL certificates.
- Various build and packaging fixes.
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 or at opus@xiph.org.
Ralph Gilesgiles@mozilla.comhttps://gitlab.xiph.org/xiph/opusfile/-/tags/v0.1v0.1opusfile version 0.1
This is the initial release of libopusfile. Like libvorbisfile for
Vorbis files, libopusfile provides a high-level API for decoding
and seeking within .opus files. It includes:
- Support for all files with at least one Opus stream (including
multichannel files or Ogg files where Opus is muxed with
something else).
- Full support, including seeking, for chained files.
- A simple stereo downmixing API (allowing chained files to be
decoded with a single output format, even if the channel count
changes).
- Support for reading from a file, memory buffer, or over HTTP(S)
(including seeking).
- Support for both random access and streaming data sources.
- Complete documentation of the public API.
- Two simple examples demonstrating the API.
The code has undergone basic testing, but as this is the first
release, there are still likely to be issues we didn't find. Please
give feedback in #opus on irc.freenode.net or at opus@xiph.org.
Ralph Gilesgiles@mozilla.com