server: slightly improve write performance

This commit is contained in:
aler9
2021-12-07 22:20:18 +01:00
parent 289c272469
commit bda1f3539c
2 changed files with 49 additions and 29 deletions

View File

@@ -57,6 +57,16 @@ func (h *multicastHandler) ip() net.IP {
func (h *multicastHandler) runWriter() {
defer close(h.writerDone)
rtpAddr := &net.UDPAddr{
IP: h.rtpl.ip(),
Port: h.rtpl.port(),
}
rtcpAddr := &net.UDPAddr{
IP: h.rtcpl.ip(),
Port: h.rtcpl.port(),
}
for {
tmp, ok := h.writeBuffer.Pull()
if !ok {
@@ -65,15 +75,9 @@ func (h *multicastHandler) runWriter() {
data := tmp.(trackTypePayload)
if data.isRTP {
h.rtpl.write(data.payload, &net.UDPAddr{
IP: h.rtpl.ip(),
Port: h.rtpl.port(),
})
h.rtpl.write(data.payload, rtpAddr)
} else {
h.rtcpl.write(data.payload, &net.UDPAddr{
IP: h.rtcpl.ip(),
Port: h.rtcpl.port(),
})
h.rtcpl.write(data.payload, rtcpAddr)
}
}
}