2024-06-05 20:10:03 +00:00
|
|
|
// SPDX-FileCopyrightText: 2023 The Pion community <https://pion.ly>
|
|
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
|
2022-03-10 09:44:48 +00:00
|
|
|
package codecs
|
|
|
|
|
|
|
|
// G722Payloader payloads G722 packets
|
|
|
|
type G722Payloader struct{}
|
|
|
|
|
|
|
|
// Payload fragments an G722 packet across one or more byte arrays
|
|
|
|
func (p *G722Payloader) 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)
|
|
|
|
}
|