Unify the forwarding package start with the other, start it in a go routine

This commit is contained in:
Yohann D'ANELLO 2020-10-01 19:26:12 +02:00
parent 98d5c609a3
commit d7e104261f
3 changed files with 6 additions and 8 deletions

View File

@ -93,15 +93,13 @@ func main() {
// SRT channel, to propagate forwarding
forwardingChannel := make(chan srt.Packet)
// Start stream, web and monitoring server
// Start stream, web and monitoring server, and stream forwarding
go forwarding.Serve(cfg.Forwarding, forwardingChannel)
go monitoring.Serve(&cfg.Monitoring)
go srt.Serve(&cfg.Srt, forwardingChannel)
go web.Serve(remoteSdpChan, localSdpChan, &cfg.Web)
go webrtc.Serve(remoteSdpChan, localSdpChan, &cfg.WebRTC)
// Configure stream forwarding
forwarding.New(cfg.Forwarding, forwardingChannel)
// Wait for routines
select {}
}

View File

@ -19,12 +19,12 @@ var (
ffmpegInputStreams = make(map[string]*io.WriteCloser)
)
// New Load configuration and initialize SRT channel
func New(c Options, channel chan srt.Packet) {
// Serve Load configuration and initialize SRT channel
func Serve(c Options, channel chan srt.Packet) {
cfg = c
forwardingChannel = channel
go waitForPackets()
log.Printf("Stream forwarding initialized")
waitForPackets()
}
func waitForPackets() {

View File

@ -56,7 +56,7 @@ func TestForwardStream(t *testing.T) {
forwardingChannel = make(chan srt.Packet)
// Register forwarding stream list
New(forwardingList, forwardingChannel)
Serve(forwardingList, forwardingChannel)
// Serve HTTP Server
go srt.Serve(&srt.Options{ListenAddress: ":9712", MaxClients: 2}, forwardingChannel)