1
0
mirror of https://gitlab.crans.org/nounous/ghostream.git synced 2024-12-23 00:22:19 +00:00

Handle stream in a goroutine

This commit is contained in:
Alexandre Iooss 2020-09-27 22:10:47 +02:00
parent e64f5105c9
commit 172b1c3a84
No known key found for this signature in database
GPG Key ID: 6C79278F3FCDCC02

View File

@ -1,7 +1,6 @@
package srt package srt
import ( import (
"fmt"
"log" "log"
"github.com/haivision/srtgo" "github.com/haivision/srtgo"
@ -22,14 +21,27 @@ func Serve(cfg *Options) {
// FIXME: cfg.ListenAddress -> host and port // FIXME: cfg.ListenAddress -> host and port
sck := srtgo.NewSrtSocket("0.0.0.0", 9710, options) sck := srtgo.NewSrtSocket("0.0.0.0", 9710, options)
sck.Listen(1) sck.Listen(1)
s, _ := sck.Accept()
buff := make([]byte, 2048)
for { for {
n, _ := s.Read(buff, 10000) s, err := sck.Accept()
if n == 0 { if err != nil {
break log.Println("Error occured while accepting request:", err)
} }
fmt.Printf("Received %d bytes", n)
go func() {
buff := make([]byte, 2048)
for {
n, err := s.Read(buff, 10000)
if err != nil {
log.Println("Error occured while reading SRT socket:", err)
break
}
if n == 0 {
// End of stream
break
}
log.Printf("Received %d bytes", n)
}
}()
} }
} }