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) }