code.witches.io/go/sdl2@v0.1.1/audio_test.go (about)

     1  package sdl
     2  
     3  import (
     4  	"io"
     5  	"testing"
     6  	"unsafe"
     7  )
     8  
     9  var wav = []byte{
    10  	0x52, 0x49, 0x46, 0x46, 0x24, 0x00, 0x00, 0x00,
    11  	0x57, 0x41, 0x56, 0x45, 0x66, 0x6d, 0x74, 0x20,
    12  	0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
    13  	0x44, 0xac, 0x00, 0x00, 0x10, 0xb1, 0x02, 0x00,
    14  	0x04, 0x00, 0x10, 0x00, 0x64, 0x61, 0x74, 0x61,
    15  	0x00, 0x00, 0x00, 0x00,
    16  }
    17  
    18  func BenchmarkLoadWAVRW(b *testing.B) {
    19  	ops, err := RWFromConstMem(unsafe.Pointer(&wav[0]), len(wav))
    20  	if err != nil {
    21  		b.Fatal(err)
    22  	}
    23  	var spec AudioSpec
    24  	b.ReportAllocs()
    25  	b.ResetTimer()
    26  	for i := 0; i < b.N; i++ {
    27  		_, err := LoadWAVRW(ops, false, &spec)
    28  		if err != nil {
    29  			b.Fatal(err)
    30  		}
    31  		_, err = ops.Seek(0, io.SeekStart)
    32  		if err != nil {
    33  			b.Fatal(err)
    34  		}
    35  	}
    36  }