client: add parameter 'containsKeyFrame' to WritePacketRTP; fix RTCP sender reports

This commit is contained in:
aler9
2022-04-07 18:49:51 +02:00
committed by Alessandro Ros
parent d0cab3c8bd
commit 3c104d3727
9 changed files with 17 additions and 17 deletions

View File

@@ -1823,7 +1823,7 @@ func (c *Client) runWriter() {
}
// WritePacketRTP writes a RTP packet.
func (c *Client) WritePacketRTP(trackID int, pkt *rtp.Packet) error {
func (c *Client) WritePacketRTP(trackID int, pkt *rtp.Packet, ptsEqualsDTS bool) error {
c.writeMutex.RLock()
defer c.writeMutex.RUnlock()
@@ -1842,7 +1842,7 @@ func (c *Client) WritePacketRTP(trackID int, pkt *rtp.Packet) error {
}
if c.tracks[trackID].rtcpSender != nil {
c.tracks[trackID].rtcpSender.ProcessPacketRTP(time.Now(), pkt, true)
c.tracks[trackID].rtcpSender.ProcessPacketRTP(time.Now(), pkt, ptsEqualsDTS)
}
c.writeBuffer.Push(trackTypePayload{

View File

@@ -253,14 +253,14 @@ func TestClientPublishSerial(t *testing.T) {
c.Wait()
}()
err = c.WritePacketRTP(0, &testRTPPacket)
err = c.WritePacketRTP(0, &testRTPPacket, true)
require.NoError(t, err)
<-recvDone
c.Close()
<-done
err = c.WritePacketRTP(0, &testRTPPacket)
err = c.WritePacketRTP(0, &testRTPPacket, true)
require.Error(t, err)
})
}
@@ -413,7 +413,7 @@ func TestClientPublishParallel(t *testing.T) {
defer t.Stop()
for range t.C {
err := c.WritePacketRTP(0, &testRTPPacket)
err := c.WritePacketRTP(0, &testRTPPacket, true)
if err != nil {
return
}
@@ -567,7 +567,7 @@ func TestClientPublishPauseSerial(t *testing.T) {
require.NoError(t, err)
defer c.Close()
err = c.WritePacketRTP(0, &testRTPPacket)
err = c.WritePacketRTP(0, &testRTPPacket, true)
require.NoError(t, err)
_, err = c.Pause()
@@ -576,7 +576,7 @@ func TestClientPublishPauseSerial(t *testing.T) {
_, err = c.Record()
require.NoError(t, err)
err = c.WritePacketRTP(0, &testRTPPacket)
err = c.WritePacketRTP(0, &testRTPPacket, true)
require.NoError(t, err)
})
}
@@ -711,7 +711,7 @@ func TestClientPublishPauseParallel(t *testing.T) {
defer t.Stop()
for range t.C {
err := c.WritePacketRTP(0, &testRTPPacket)
err := c.WritePacketRTP(0, &testRTPPacket, true)
if err != nil {
return
}
@@ -853,7 +853,7 @@ func TestClientPublishAutomaticProtocol(t *testing.T) {
require.NoError(t, err)
defer c.Close()
err = c.WritePacketRTP(0, &testRTPPacket)
err = c.WritePacketRTP(0, &testRTPPacket, true)
require.NoError(t, err)
}
@@ -1002,7 +1002,7 @@ func TestClientPublishRTCPReport(t *testing.T) {
SSRC: 753621,
},
Payload: []byte{0x01, 0x02, 0x03, 0x04},
})
}, true)
require.NoError(t, err)
<-reportReceived

View File

@@ -57,7 +57,7 @@ func main() {
}
// route RTP packet to the server
err = c.WritePacketRTP(0, &pkt)
err = c.WritePacketRTP(0, &pkt, true)
if err != nil {
panic(err)
}

View File

@@ -58,7 +58,7 @@ func main() {
}
// route RTP packet to the server
err = c.WritePacketRTP(0, &pkt)
err = c.WritePacketRTP(0, &pkt, true)
if err != nil {
panic(err)
}

View File

@@ -68,7 +68,7 @@ func main() {
}
// route RTP packet to the server
err = c.WritePacketRTP(0, &pkt)
err = c.WritePacketRTP(0, &pkt, true)
if err != nil {
panic(err)
}

View File

@@ -58,7 +58,7 @@ func main() {
}
// route RTP packet to the server
err = c.WritePacketRTP(0, &pkt)
err = c.WritePacketRTP(0, &pkt, true)
if err != nil {
panic(err)
}

View File

@@ -62,7 +62,7 @@ func main() {
}
// route RTP packet to the server
c.WritePacketRTP(0, &pkt)
c.WritePacketRTP(0, &pkt, true)
// read another RTP packet from source
n, _, err = pc.ReadFrom(buf)

View File

@@ -55,7 +55,7 @@ func main() {
}
// route RTP packet to the server
err = c.WritePacketRTP(0, &pkt)
err = c.WritePacketRTP(0, &pkt, true)
if err != nil {
panic(err)
}

View File

@@ -47,7 +47,7 @@ func main() {
// called when a RTP packet arrives
reader.OnPacketRTP = func(trackID int, pkt *rtp.Packet) {
publisher.WritePacketRTP(trackID, pkt)
publisher.WritePacketRTP(trackID, pkt, true)
}
// start reading tracks