mirror of
https://github.com/aler9/gortsplib
synced 2025-10-07 16:10:59 +08:00
fix examples
This commit is contained in:
@@ -47,11 +47,13 @@ func main() {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
frame := &gortsplib.InterleavedFrame{Content: make([]byte, 512*1024)}
|
||||
frame := &gortsplib.InterleavedFrame{Content: make([]byte, 0, 512*1024)}
|
||||
for {
|
||||
frame.Content = frame.Content[:cap(frame.Content)]
|
||||
err := rconn.ReadFrame(frame)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
fmt.Println("connection is closed")
|
||||
break
|
||||
}
|
||||
|
||||
fmt.Printf("packet from track %d, type %v: %v\n",
|
||||
|
@@ -45,6 +45,7 @@ func main() {
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
defer rtpl.Close()
|
||||
rtpListeners = append(rtpListeners, rtpl)
|
||||
|
||||
rtcpPort := 9001 + i*2
|
||||
@@ -52,6 +53,7 @@ func main() {
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
defer rtcpl.Close()
|
||||
rtcpListeners = append(rtcpListeners, rtcpl)
|
||||
|
||||
_, _, _, err = rconn.SetupUdp(u, media, rtpPort, rtcpPort)
|
||||
@@ -65,6 +67,22 @@ func main() {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
done := make(chan struct{})
|
||||
|
||||
// send periodic keepalive
|
||||
go func() {
|
||||
keepaliveTicker := time.NewTicker(30 * time.Second)
|
||||
for range keepaliveTicker.C {
|
||||
_, err = rconn.Options(u)
|
||||
if err != nil {
|
||||
fmt.Println("connection is closed")
|
||||
close(done)
|
||||
break
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
// receive RTP packets
|
||||
for trackId, l := range rtpListeners {
|
||||
go func(trackId int, l net.PacketConn) {
|
||||
buf := make([]byte, 2048)
|
||||
@@ -79,6 +97,7 @@ func main() {
|
||||
}(trackId, l)
|
||||
}
|
||||
|
||||
// receive RTCP packets
|
||||
for trackId, l := range rtcpListeners {
|
||||
go func(trackId int, l net.PacketConn) {
|
||||
buf := make([]byte, 2048)
|
||||
@@ -93,5 +112,5 @@ func main() {
|
||||
}(trackId, l)
|
||||
}
|
||||
|
||||
select {}
|
||||
<-done
|
||||
}
|
||||
|
Reference in New Issue
Block a user