diff --git a/conn-client-udpl.go b/conn-client-udpl.go index 54626d17..b977a8e0 100644 --- a/conn-client-udpl.go +++ b/conn-client-udpl.go @@ -29,8 +29,7 @@ func newConnClientUdpListener(c *ConnClient, port int, trackId int, streamType S }, nil } -// Close closes the listener. -func (l *ConnClientUdpListener) Close() { +func (l *ConnClientUdpListener) close() { l.pc.Close() } diff --git a/conn-client.go b/conn-client.go index 750bbc0f..50f95fe4 100644 --- a/conn-client.go +++ b/conn-client.go @@ -131,11 +131,11 @@ func (c *ConnClient) Close() error { } for _, l := range c.rtpListeners { - l.Close() + l.close() } for _, l := range c.rtcpListeners { - l.Close() + l.close() } return err @@ -405,7 +405,7 @@ func (c *ConnClient) SetupUdp(u *url.URL, track *Track, rtpPort int, rtcpListener, err := newConnClientUdpListener(c, rtcpPort, track.Id, StreamTypeRtcp) if err != nil { - rtpListener.Close() + rtpListener.close() return nil, nil, nil, err } @@ -415,22 +415,22 @@ func (c *ConnClient) SetupUdp(u *url.URL, track *Track, rtpPort int, fmt.Sprintf("client_port=%d-%d", rtpPort, rtcpPort), }) if err != nil { - rtpListener.Close() - rtcpListener.Close() + rtpListener.close() + rtcpListener.close() return nil, nil, nil, err } th, err := ReadHeaderTransport(res.Header["Transport"]) if err != nil { - rtpListener.Close() - rtcpListener.Close() + rtpListener.close() + rtcpListener.close() return nil, nil, nil, fmt.Errorf("SETUP: transport header: %s", err) } rtpServerPort, rtcpServerPort := th.Ports("server_port") if rtpServerPort == 0 { - rtpListener.Close() - rtcpListener.Close() + rtpListener.close() + rtcpListener.close() return nil, nil, nil, fmt.Errorf("SETUP: server ports not provided") } diff --git a/examples/client-tcp.go b/examples/client-tcp.go index 22ed3611..30870df2 100644 --- a/examples/client-tcp.go +++ b/examples/client-tcp.go @@ -50,6 +50,7 @@ func main() { err := conn.ReadFrame(frame) if err != nil { + conn.Close() fmt.Println("connection is closed (%s)", err) break } diff --git a/examples/client-udp.go b/examples/client-udp.go index 8676bbde..f3308159 100644 --- a/examples/client-udp.go +++ b/examples/client-udp.go @@ -92,11 +92,7 @@ func main() { } err = conn.LoopUdp(u) - fmt.Println("connection is closed (%s)", err) - - for _, lp := range listeners { - lp.rtpl.Close() - lp.rtcpl.Close() - } + conn.Close() wg.Wait() + fmt.Println("connection is closed (%s)", err) }