mirror of
https://github.com/aler9/gortsplib
synced 2025-10-05 15:16:51 +08:00
restore support for multi-track RTCP reports
This commit is contained in:
16
client.go
16
client.go
@@ -671,9 +671,11 @@ func (c *Client) playRecordStart() {
|
||||
switch *c.effectiveTransport {
|
||||
case TransportUDP:
|
||||
for trackID, cct := range c.tracks {
|
||||
ctrackID := trackID
|
||||
|
||||
cct.rtcpReceiver = rtcpreceiver.New(c.udpReceiverReportPeriod, nil,
|
||||
cct.track.ClockRate(), func(pkt rtcp.Packet) {
|
||||
c.WritePacketRTCP(trackID, pkt)
|
||||
c.WritePacketRTCP(ctrackID, pkt)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -687,9 +689,11 @@ func (c *Client) playRecordStart() {
|
||||
|
||||
case TransportUDPMulticast:
|
||||
for trackID, cct := range c.tracks {
|
||||
ctrackID := trackID
|
||||
|
||||
cct.rtcpReceiver = rtcpreceiver.New(c.udpReceiverReportPeriod, nil,
|
||||
cct.track.ClockRate(), func(pkt rtcp.Packet) {
|
||||
c.WritePacketRTCP(trackID, pkt)
|
||||
c.WritePacketRTCP(ctrackID, pkt)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -709,9 +713,11 @@ func (c *Client) playRecordStart() {
|
||||
switch *c.effectiveTransport {
|
||||
case TransportUDP:
|
||||
for trackID, cct := range c.tracks {
|
||||
ctrackID := trackID
|
||||
|
||||
cct.rtcpSender = rtcpsender.New(c.udpSenderReportPeriod,
|
||||
cct.track.ClockRate(), func(pkt rtcp.Packet) {
|
||||
c.WritePacketRTCP(trackID, pkt)
|
||||
c.WritePacketRTCP(ctrackID, pkt)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -722,9 +728,11 @@ func (c *Client) playRecordStart() {
|
||||
|
||||
case TransportUDPMulticast:
|
||||
for trackID, cct := range c.tracks {
|
||||
ctrackID := trackID
|
||||
|
||||
cct.rtcpSender = rtcpsender.New(c.udpSenderReportPeriod,
|
||||
cct.track.ClockRate(), func(pkt rtcp.Packet) {
|
||||
c.WritePacketRTCP(trackID, pkt)
|
||||
c.WritePacketRTCP(ctrackID, pkt)
|
||||
})
|
||||
}
|
||||
|
||||
|
@@ -998,9 +998,11 @@ func (ss *ServerSession) handleRequest(sc *ServerConn, req *base.Request) (*base
|
||||
ss.WritePacketRTP(trackID, &rtp.Packet{Header: rtp.Header{Version: 2}})
|
||||
ss.WritePacketRTCP(trackID, &rtcp.ReceiverReport{})
|
||||
|
||||
ctrackID := trackID
|
||||
|
||||
ss.announcedTracks[trackID].rtcpReceiver = rtcpreceiver.New(ss.s.udpReceiverReportPeriod,
|
||||
nil, ss.announcedTracks[trackID].track.ClockRate(), func(pkt rtcp.Packet) {
|
||||
ss.WritePacketRTCP(trackID, pkt)
|
||||
ss.WritePacketRTCP(ctrackID, pkt)
|
||||
})
|
||||
|
||||
ss.s.udpRTPListener.addClient(ss.author.ip(), track.udpRTPPort, ss, trackID, true)
|
||||
|
Reference in New Issue
Block a user