go-wca/pkg/wca/IAudioCaptureClient.go
2020-05-24 10:03:04 +09:00

37 lines
889 B
Go

package wca
import (
"unsafe"
"github.com/go-ole/go-ole"
)
type IAudioCaptureClient struct {
ole.IUnknown
}
type IAudioCaptureClientVtbl struct {
ole.IUnknownVtbl
GetBuffer uintptr
ReleaseBuffer uintptr
GetNextPacketSize uintptr
}
func (v *IAudioCaptureClient) VTable() *IAudioCaptureClientVtbl {
return (*IAudioCaptureClientVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *IAudioCaptureClient) GetBuffer(data **byte, framesToRead, flags *uint32, devicePosition, qpcPosition *uint64) (err error) {
err = accGetBuffer(v, data, framesToRead, flags, devicePosition, qpcPosition)
return
}
func (v *IAudioCaptureClient) ReleaseBuffer(framesRead uint32) (err error) {
err = accReleaseBuffer(v, framesRead)
return
}
func (v *IAudioCaptureClient) GetNextPacketSize(framesInNextPacket *uint32) (err error) {
err = accGetNextPacketSize(v, framesInNextPacket)
return
}