diff --git a/aoiprxkit/rtp.go b/aoiprxkit/rtp.go index b2dc104..abee12e 100644 --- a/aoiprxkit/rtp.go +++ b/aoiprxkit/rtp.go @@ -63,6 +63,10 @@ func ParseRTPPacket(buf []byte) (RTPPacket, error) { } payload = payload[:len(payload)-padLen] } - p.Payload = payload + // ALIASING FIX: copy payload bytes before returning. The caller reuses + // the receive buffer on every ReadFromUDP call, so any RTPPacket stored + // in the jitter buffer for later delivery would have its Payload slice + // silently overwritten by the next incoming packet. + p.Payload = append([]byte(nil), payload...) return p, nil }