23 lines
499 B
Go
23 lines
499 B
Go
package codecs
|
|
|
|
// G711Payloader payloads G711 packets
|
|
type G711Payloader struct{}
|
|
|
|
// Payload fragments an G711 packet across one or more byte arrays
|
|
func (p *G711Payloader) Payload(mtu uint16, payload []byte) [][]byte {
|
|
var out [][]byte
|
|
if payload == nil || mtu == 0 {
|
|
return out
|
|
}
|
|
|
|
for len(payload) > int(mtu) {
|
|
o := make([]byte, mtu)
|
|
copy(o, payload[:mtu])
|
|
payload = payload[mtu:]
|
|
out = append(out, o)
|
|
}
|
|
o := make([]byte, len(payload))
|
|
copy(o, payload)
|
|
return append(out, o)
|
|
}
|