Skip to content

Commit 113388b

Browse files
committed
docs: add clear list of features and non-features
1 parent 1a9beea commit 113388b

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

README.md

+17
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,23 @@ libopusfile.
88
The C libraries and docs are hosted at https://opus-codec.org/. This package
99
just handles the wrapping in Go, and is unaffiliated with xiph.org.
1010

11+
Features:
12+
13+
- ✅ encode and decode raw PCM data to raw Opus data
14+
- ✅ useful when you control the recording device, _and_ the playback
15+
- ✅ decode .opus and .ogg files into raw audio data ("PCM")
16+
- ✅ reuse the system libraries for opus decoding (libopus)
17+
- ✅ works easily on Linux, Mac and Docker; needs libs on Windows
18+
- ❌ does not _create_ .opus or .ogg files (but feel free to send a PR)
19+
- ❌ does not work with .wav files (you need a separate .wav library for that)
20+
- ❌ no self-contained binary (you need the xiph.org libopus lib, e.g. through a package manager)
21+
- ❌ no cross compiling (because it uses CGo)
22+
23+
Good use cases:
24+
25+
- 👍 you are writing a music player app in Go, and you want to play back .opus files
26+
- 👍 you record raw wav in a web app or mobile app, you encode it as Opus on the client, you send the opus to a remote webserver written in Go, and you want to decode it back to raw audio data on that server
27+
1128
## Details
1229

1330
This wrapper provides a Go translation layer for three elements from the

0 commit comments

Comments
 (0)