From 09ad8e7160a97a37f30f2456de1ec1069efda0af Mon Sep 17 00:00:00 2001 From: Failure Date: Wed, 24 Jul 2024 16:52:58 -0700 Subject: [PATCH] import changes --- internal/conf/path.go | 4 ++++ internal/hooks/on_ready.go | 23 +++++++++++++++++++++++ internal/servers/webrtc/read_index.html | 1 + 3 files changed, 28 insertions(+) diff --git a/internal/conf/path.go b/internal/conf/path.go index 925f050f..98018dbd 100644 --- a/internal/conf/path.go +++ b/internal/conf/path.go @@ -180,6 +180,10 @@ type Path struct { RunOnUnread string `json:"runOnUnread"` RunOnRecordSegmentCreate string `json:"runOnRecordSegmentCreate"` RunOnRecordSegmentComplete string `json:"runOnRecordSegmentComplete"` + + // Custom hooks + HTTPOnReady string `json:"httpOnReady"` + HTTPOnNotReady string `json:"httpOnNotReady"` } func (pconf *Path) setDefaults() { diff --git a/internal/hooks/on_ready.go b/internal/hooks/on_ready.go index f6e7e9fd..22c0f8a2 100644 --- a/internal/hooks/on_ready.go +++ b/internal/hooks/on_ready.go @@ -1,10 +1,13 @@ package hooks import ( + "bytes" + "encoding/json" "github.com/bluenviron/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/defs" "github.com/bluenviron/mediamtx/internal/externalcmd" "github.com/bluenviron/mediamtx/internal/logger" + "net/http" ) // OnReadyParams are the parameters of OnReady. @@ -41,6 +44,16 @@ func OnReady(params OnReadyParams) func() { }) } + if params.Conf.HTTPOnReady != "" { + obj := map[string]any{ + "query": params.Query, + "desc": params.Desc, + "env": params.ExternalCmdEnv, + } + jsonValue, _ := json.Marshal(obj) + http.Post(params.Conf.HTTPOnReady, "application/json", bytes.NewBuffer(jsonValue)) + } + return func() { if onReadyCmd != nil { onReadyCmd.Close() @@ -56,5 +69,15 @@ func OnReady(params OnReadyParams) func() { env, nil) } + if params.Conf.HTTPOnNotReady != "" { + obj := map[string]any{ + "query": params.Query, + "desc": params.Desc, + "env": params.ExternalCmdEnv, + } + jsonValue, _ := json.Marshal(obj) + http.Post(params.Conf.HTTPOnNotReady, "application/json", bytes.NewBuffer(jsonValue)) + } + } } diff --git a/internal/servers/webrtc/read_index.html b/internal/servers/webrtc/read_index.html index 427073f9..718f1fbc 100644 --- a/internal/servers/webrtc/read_index.html +++ b/internal/servers/webrtc/read_index.html @@ -437,6 +437,7 @@ const sendOffer = (offer) => { return res.text() .then((sdp) => onRemoteAnswer(sdp)); }) + .then((sdp) => onRemoteAnswer(sdp)) .catch((err) => { onError(err.toString()); });