fix(ffmpeg): ffmpeg reader callback buffer fix (#16)
* fix(ffmpeg): ffmpeg reader callback buffer fix
This commit is contained in:
parent
ba7f527435
commit
41133360fd
3 changed files with 7 additions and 6 deletions
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue