Add address resolver and validator for probe

This commit is contained in:
Ingo Oppermann 2023-08-09 14:47:56 +03:00
parent 707a423e4c
commit 8fef2dea65
No known key found for this signature in database
GPG Key ID: 2AB32426E9DD229E
2 changed files with 29 additions and 0 deletions

View File

@ -1836,8 +1836,21 @@ func (r *restream) Probe(config *app.Config, timeout time.Duration) app.Probe {
config = config.Clone()
resolveStaticPlaceholders(config, r.replace)
err := r.resolveAddresses(r.tasks, config)
if err != nil {
appprobe.Log = append(appprobe.Log, err.Error())
return appprobe
}
resolveDynamicPlaceholder(config, r.replace)
_, err = validateConfig(config, r.fs.list, r.ffmpeg)
if err != nil {
appprobe.Log = append(appprobe.Log, err.Error())
return appprobe
}
var command []string
// Copy global options

View File

@ -632,6 +632,22 @@ func TestProbeProcess(t *testing.T) {
require.Equal(t, 3, len(probe.Streams))
}
func TestProbeProcessWithReference(t *testing.T) {
rs, err := getDummyRestreamer(nil, nil, nil, nil)
require.NoError(t, err)
process := getDummyProcess()
rs.AddProcess(process)
process = getDummyProcess()
process.ID = ""
process.Input[0].Address = "#process:output=out"
probe := rs.Probe(process, 5*time.Second)
require.Equal(t, 3, len(probe.Streams))
}
func TestProcessMetadata(t *testing.T) {
rs, err := getDummyRestreamer(nil, nil, nil, nil)
require.NoError(t, err)