go-vorbis/decoder_test.go

81 lines
1.1 KiB
Go

package go_vorbis
import (
"io"
"log"
"os"
"testing"
)
func TestDecoder(t *testing.T) {
t.Parallel()
f, err := os.Open("test.vorbis")
if err != nil {
t.Error(err)
return
}
defer f.Close()
decoder, err := NewSeekCloserDecoder(f)
if err != nil {
t.Error(err)
return
}
defer decoder.Close()
samplesDecoded := 0
log.Print(decoder.Information())
for {
buf, _, err := decoder.ReadShort()
if err != nil {
if err == io.EOF {
break
}
t.Error(err)
return
}
samplesDecoded += len(buf)
}
log.Printf("decoded %d samples", samplesDecoded)
}
func TestDecoderFloat(t *testing.T) {
t.Parallel()
f, err := os.Open("test.vorbis")
if err != nil {
t.Error(err)
return
}
defer f.Close()
decoder, err := NewSeekCloserDecoder(f)
if err != nil {
t.Error(err)
return
}
defer decoder.Close()
samplesDecoded := 0
log.Print(decoder.Information())
for {
buf, _, err := decoder.ReadFloat()
if err != nil {
if err == io.EOF {
break
}
t.Error(err)
return
}
samplesDecoded += len(buf)
}
log.Printf("decoded %d samples", samplesDecoded)
}