1
0
Fork 0
forked from External/mediamtx

allow using MTX_QUERY inside source (#3486)

this allows to pass query parameters to sources, for instance:

source: rtsp://my_host/my_path?$MTX_QUERY
sourceOnDemand: true
This commit is contained in:
Alessandro Ros 2024-06-18 22:10:26 +02:00 committed by GitHub
parent dfa2e81e61
commit 65d90f7cc6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
18 changed files with 118 additions and 106 deletions

View file

@ -700,13 +700,14 @@ func TestPathFallback(t *testing.T) {
}
}
func TestPathSourceRegexp(t *testing.T) {
func TestPathResolveSource(t *testing.T) {
var stream *gortsplib.ServerStream
s := gortsplib.Server{
Handler: &testServer{
onDescribe: func(ctx *gortsplib.ServerHandlerOnDescribeCtx,
) (*base.Response, *gortsplib.ServerStream, error) {
require.Equal(t, "key=val", ctx.Query)
require.Equal(t, "/a", ctx.Path)
return &base.Response{
StatusCode: base.StatusOK,
@ -736,7 +737,7 @@ func TestPathSourceRegexp(t *testing.T) {
p, ok := newInstance(
"paths:\n" +
" '~^test_(.+)$':\n" +
" source: rtsp://127.0.0.1:8555/$G1\n" +
" source: rtsp://127.0.0.1:8555/$G1?$MTX_QUERY\n" +
" sourceOnDemand: yes\n" +
" 'all':\n")
require.Equal(t, true, ok)
@ -744,7 +745,7 @@ func TestPathSourceRegexp(t *testing.T) {
reader := gortsplib.Client{}
u, err := base.ParseURL("rtsp://127.0.0.1:8554/test_a")
u, err := base.ParseURL("rtsp://127.0.0.1:8554/test_a?key=val")
require.NoError(t, err)
err = reader.Start(u.Scheme, u.Host)