diff --git a/goborator.go b/goborator.go index 5d36ee2..5b2fdb5 100644 --- a/goborator.go +++ b/goborator.go @@ -133,8 +133,8 @@ func (g *Gaborator) analyze(input []float32, outputCallback func(output []float3 if len(input) == 0 { returnData = C.gaborator_transform(g.pointer, (*C.float)(nil), C.int64_t(0), &returnSize, &sliceSize) } else { - defer runtime.KeepAlive(input) - returnData = C.gaborator_transform(g.pointer, (*C.float)(&input[0]), C.int64_t(len(input)), &returnSize, &sliceSize) + returnData = C.gaborator_transform(g.pointer, (*C.float)(unsafe.SliceData(input)), C.int64_t(len(input)), &returnSize, &sliceSize) + runtime.KeepAlive(input) } if returnData != nil && returnSize > 0 {