From 5840b37e8ce3c6dd8231eee85a5a0d83748d4c36 Mon Sep 17 00:00:00 2001 From: aler9 <46489434+aler9@users.noreply.github.com> Date: Tue, 28 Jul 2020 15:11:37 +0200 Subject: [PATCH] invert udp and tcp handling --- server-client.go | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/server-client.go b/server-client.go index d83f6b27..7f6e0fbb 100644 --- a/server-client.go +++ b/server-client.go @@ -818,7 +818,27 @@ func (c *serverClient) runPlay(path string) { } } - if c.streamProtocol == gortsplib.StreamProtocolTcp { + if c.streamProtocol == gortsplib.StreamProtocolUdp { + for { + req, err := c.conn.ReadRequest() + if err != nil { + if err != io.EOF { + c.log("ERR: %s", err) + } + break + } + + ok := c.handleRequest(req) + if !ok { + break + } + } + + done := make(chan struct{}) + c.p.events <- programEventClientPlayStop{done, c} + <-done + + } else { readDone := make(chan error) go func() { buf := make([]byte, 2048) @@ -859,26 +879,6 @@ func (c *serverClient) runPlay(path string) { <-done close(c.events) - - } else { - for { - req, err := c.conn.ReadRequest() - if err != nil { - if err != io.EOF { - c.log("ERR: %s", err) - } - break - } - - ok := c.handleRequest(req) - if !ok { - break - } - } - - done := make(chan struct{}) - c.p.events <- programEventClientPlayStop{done, c} - <-done } if runOnReadCmd != nil {