From 912bec962b8e09db0c06cdb39c9ef2c48b25b8ab Mon Sep 17 00:00:00 2001 From: aler9 <46489434+aler9@users.noreply.github.com> Date: Sat, 1 Mar 2025 23:39:54 +0100 Subject: [PATCH] change error message when stream is not found Switch from 'no one is publishing to path' to 'no stream is available on path' since the stream might be provided from a static source too. --- internal/core/path.go | 4 ++-- internal/defs/path.go | 8 ++++---- internal/servers/rtsp/conn.go | 2 +- internal/servers/rtsp/session.go | 2 +- internal/servers/webrtc/server_test.go | 2 +- internal/servers/webrtc/session.go | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/internal/core/path.go b/internal/core/path.go index 8e96275647c..5a26b018a75 100644 --- a/internal/core/path.go +++ b/internal/core/path.go @@ -440,7 +440,7 @@ func (pa *path) doDescribe(req defs.PathDescribeReq) { return } - req.Res <- defs.PathDescribeRes{Err: defs.PathNoOnePublishingError{PathName: pa.name}} + req.Res <- defs.PathDescribeRes{Err: defs.PathNoStreamAvailableError{PathName: pa.name}} } func (pa *path) doRemovePublisher(req defs.PathRemovePublisherReq) { @@ -531,7 +531,7 @@ func (pa *path) doAddReader(req defs.PathAddReaderReq) { return } - req.Res <- defs.PathAddReaderRes{Err: defs.PathNoOnePublishingError{PathName: pa.name}} + req.Res <- defs.PathAddReaderRes{Err: defs.PathNoStreamAvailableError{PathName: pa.name}} } func (pa *path) doRemoveReader(req defs.PathRemoveReaderReq) { diff --git a/internal/defs/path.go b/internal/defs/path.go index 74d7492bd3e..36e34d150ec 100644 --- a/internal/defs/path.go +++ b/internal/defs/path.go @@ -10,14 +10,14 @@ import ( "github.com/bluenviron/mediamtx/internal/stream" ) -// PathNoOnePublishingError is returned when no one is publishing. -type PathNoOnePublishingError struct { +// PathNoStreamAvailableError is returned when no one is publishing. +type PathNoStreamAvailableError struct { PathName string } // Error implements the error interface. -func (e PathNoOnePublishingError) Error() string { - return fmt.Sprintf("no one is publishing to path '%s'", e.PathName) +func (e PathNoStreamAvailableError) Error() string { + return fmt.Sprintf("no stream is available on path '%s'", e.PathName) } // Path is a path. diff --git a/internal/servers/rtsp/conn.go b/internal/servers/rtsp/conn.go index 9fff786bb13..1688b67e734 100644 --- a/internal/servers/rtsp/conn.go +++ b/internal/servers/rtsp/conn.go @@ -160,7 +160,7 @@ func (c *conn) onDescribe(ctx *gortsplib.ServerHandlerOnDescribeCtx, return res, nil, err2 } - var terr2 defs.PathNoOnePublishingError + var terr2 defs.PathNoStreamAvailableError if errors.As(res.Err, &terr2) { return &base.Response{ StatusCode: base.StatusNotFound, diff --git a/internal/servers/rtsp/session.go b/internal/servers/rtsp/session.go index 8ed97c6925e..8895ae2bfea 100644 --- a/internal/servers/rtsp/session.go +++ b/internal/servers/rtsp/session.go @@ -188,7 +188,7 @@ func (s *session) onSetup(c *conn, ctx *gortsplib.ServerHandlerOnSetupCtx, return res, nil, err2 } - var terr2 defs.PathNoOnePublishingError + var terr2 defs.PathNoStreamAvailableError if errors.As(err, &terr2) { return &base.Response{ StatusCode: base.StatusNotFound, diff --git a/internal/servers/webrtc/server_test.go b/internal/servers/webrtc/server_test.go index 9ba7c06a906..ac453b4dac9 100644 --- a/internal/servers/webrtc/server_test.go +++ b/internal/servers/webrtc/server_test.go @@ -618,7 +618,7 @@ func TestServerReadNotFound(t *testing.T) { return &conf.Path{}, nil }, AddReaderImpl: func(_ defs.PathAddReaderReq) (defs.Path, *stream.Stream, error) { - return nil, nil, defs.PathNoOnePublishingError{} + return nil, nil, defs.PathNoStreamAvailableError{} }, } diff --git a/internal/servers/webrtc/session.go b/internal/servers/webrtc/session.go index 918ff40bbd0..c1d794e5e9f 100644 --- a/internal/servers/webrtc/session.go +++ b/internal/servers/webrtc/session.go @@ -253,7 +253,7 @@ func (s *session) runRead() (int, error) { AccessRequest: req, }) if err != nil { - var terr2 defs.PathNoOnePublishingError + var terr2 defs.PathNoStreamAvailableError if errors.As(err, &terr2) { return http.StatusNotFound, err }