fix(ffmpeg): ffmpeg reader callback buffer fix (#16)

* fix(ffmpeg): ffmpeg reader callback buffer fix
This commit is contained in:
Adrian Shum 2022-10-07 15:10:32 +08:00 committed by GitHub
parent ba7f527435
commit 41133360fd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 6 deletions

View file

@ -15,14 +15,15 @@ func goPacketRead(opaque unsafe.Pointer, buffer *C.uint8_t, bufSize C.int) C.int
if !ok || ctx.reader == nil {
return C.int(ErrUnknown)
}
size := int(bufSize)
sh := &reflect.SliceHeader{
Data: uintptr(unsafe.Pointer(buffer)),
Len: int(bufSize),
Cap: int(bufSize),
Len: size,
Cap: size,
}
buf := *(*[]byte)(unsafe.Pointer(sh))
n, err := ctx.reader.Read(buf)
if err == io.EOF {
if err == io.EOF && n == 0 {
return C.int(ErrEOF)
} else if err != nil {
return C.int(ErrUnknown)