diff --git a/internal/audio/cgo_source.go b/internal/audio/cgo_source.go index fc4b80b4..7a874213 100644 --- a/internal/audio/cgo_source.go +++ b/internal/audio/cgo_source.go @@ -21,7 +21,7 @@ import ( ) const ( - ipcMaxFrameSize = 1024 + ipcMaxFrameSize = 1500 ) type CgoSource struct { @@ -184,6 +184,10 @@ func (c *CgoSource) ReadMessage() (uint8, []byte, error) { return 0, nil, nil } + if int(opusSize) > len(c.opusBuf) { + return 0, nil, fmt.Errorf("opus packet too large: %d > %d", opusSize, len(c.opusBuf)) + } + return ipcMsgTypeOpus, c.opusBuf[:opusSize], nil }