Read/Write RTP/RTCP packets with context

Control cancel/timeout by context.
This commit is contained in:
Atsushi Watanabe
2020-11-30 17:24:54 +09:00
parent 16b313b492
commit 47a7a64898
39 changed files with 329 additions and 205 deletions

View File

@@ -3,6 +3,7 @@
package main
import (
"context"
"fmt"
"os"
"time"
@@ -23,7 +24,7 @@ func saveToDisk(i media.Writer, track *webrtc.TrackRemote) {
}()
for {
rtpPacket, err := track.ReadRTP()
rtpPacket, err := track.ReadRTP(context.TODO())
if err != nil {
panic(err)
}
@@ -96,7 +97,9 @@ func main() {
go func() {
ticker := time.NewTicker(time.Second * 3)
for range ticker.C {
errSend := peerConnection.WriteRTCP([]rtcp.Packet{&rtcp.PictureLossIndication{MediaSSRC: uint32(track.SSRC())}})
errSend := peerConnection.WriteRTCP(
context.TODO(), []rtcp.Packet{&rtcp.PictureLossIndication{MediaSSRC: uint32(track.SSRC())}},
)
if errSend != nil {
fmt.Println(errSend)
}