mirror of
https://github.com/vsariola/sointu.git
synced 2025-07-18 13:04:25 -04:00
refactor: use [][2] as audio buffers, instead of []float32
Throughout sointu, we assume stereo audiobuffers, but were passing around []float32. This had several issues, including len(buf)/2 and numSamples*2 type of length conversion in many places. Also, it caused one bug in a test case, causing it to succeed when it should have not (the test had +-1 when it should have had +-2). This refactoring makes it impossible to have odd length buffer issues.
This commit is contained in:
parent
bb0d4d6800
commit
38e9007bf8
7
audio.go
7
audio.go
@ -1,9 +1,14 @@
|
||||
package sointu
|
||||
|
||||
// AudioBuffer is a buffer of stereo audio samples of variable length, each
|
||||
// sample represented by a slice of [2]float32. [0] is left channel, [1] is
|
||||
// right
|
||||
type AudioBuffer [][2]float32
|
||||
|
||||
// AudioOutput represents something where we can send audio e.g. audio output.
|
||||
// WriteAudio should block if not ready to accept audio e.g. buffer full.
|
||||
type AudioOutput interface {
|
||||
WriteAudio(buffer []float32) error
|
||||
WriteAudio(buffer AudioBuffer) error
|
||||
Close() error
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user