go-vorbis/decoder_test.go

81 lines
1.1 KiB
Go
Raw Normal View History

2022-07-28 10:56:11 +00:00
package go_vorbis
import (
"io"
"log"
"os"
"testing"
)
func TestDecoder(t *testing.T) {
2022-07-28 12:31:28 +00:00
t.Parallel()
2022-07-28 10:56:11 +00:00
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) {
2022-07-28 12:31:28 +00:00
t.Parallel()
2022-07-28 10:56:11 +00:00
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)
}