From a0dfd018a9ca570c0635de6741e14394db26da5d Mon Sep 17 00:00:00 2001 From: Bradley Hilton Date: Fri, 19 Jun 2020 12:00:27 -0500 Subject: [PATCH] Reject second stream attempting to overtake existing stream --- handler.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/handler.go b/handler.go index 443de24b2..4b25358c7 100644 --- a/handler.go +++ b/handler.go @@ -29,11 +29,13 @@ func (h *Handler) OnServe(conn *rtmp.Conn) { func (h *Handler) OnConnect(timestamp uint32, cmd *rtmpmsg.NetConnectionConnect) error { // log.Printf("OnConnect: %#v", cmd) + return nil } func (h *Handler) OnCreateStream(timestamp uint32, cmd *rtmpmsg.NetConnectionCreateStream) error { // log.Printf("OnCreateStream: %#v", cmd) + return nil } @@ -42,12 +44,11 @@ func (h *Handler) OnPublish(timestamp uint32, cmd *rtmpmsg.NetStreamPublish) err log.Println("Incoming stream connected.") if cmd.PublishingName != configuration.VideoSettings.StreamingKey { - return errors.New("Invalid streaming key! Rejecting incoming stream.") + return errors.New("invalid streaming key; rejecting incoming stream") } - // (example) Reject a connection when PublishingName is empty - if cmd.PublishingName == "" { - return errors.New("PublishingName is empty") + if stats.IsStreamConnected() { + return errors.New("stream already running; can not overtake an existing stream") } // Record streams as FLV