server: support reading back channels (#597) (#777)

This commit is contained in:
Alessandro Ros
2025-05-04 17:04:15 +02:00
committed by GitHub
parent cc0c96626c
commit b407cb1dd0
14 changed files with 894 additions and 88 deletions

View File

@@ -20,7 +20,7 @@ type serverSessionFormat struct {
format format.Format
onPacketRTP OnPacketRTPFunc
udpReorderer *rtpreorderer.Reorderer
udpReorderer *rtpreorderer.Reorderer // publish or back channel
tcpLossDetector *rtplossdetector.LossDetector
rtcpReceiver *rtcpreceiver.RTCPReceiver
writePacketRTPInQueue func([]byte) error
@@ -44,7 +44,7 @@ func (sf *serverSessionFormat) start() {
sf.writePacketRTPInQueue = sf.writePacketRTPInQueueTCP
}
if sf.sm.ss.state != ServerSessionStatePlay {
if sf.sm.ss.state == ServerSessionStateRecord || sf.sm.media.IsBackChannel {
if *sf.sm.ss.setuppedTransport == TransportUDP || *sf.sm.ss.setuppedTransport == TransportUDPMulticast {
sf.udpReorderer = &rtpreorderer.Reorderer{}
sf.udpReorderer.Initialize()