map CLI arguments to playback config

This commit is contained in:
Dmitry Sergeev
2026-08-26 22:51:35 +03:00
parent 1b667dcdb3
commit 0b91a52b99
4 changed files with 194 additions and 10 deletions
+39
View File
@@ -0,0 +1,39 @@
package main
import (
"mxl-player/internal/playback"
"time"
)
const (
defaultInitialRetryDelay = 500 * time.Millisecond
defaultMaxRetryDelay = 10 * time.Second
)
func resolveDomain(shared, override string) string {
if override != "" {
return override
}
return shared
}
func (a appArgs) playbackConfig() playback.SessionConfig {
return playback.SessionConfig{
Video: playback.FeedConfig{
Domain: resolveDomain(a.Domain, a.VideoDomain),
UUID: a.VideoFlowId,
Active: a.VideoFlowId != "",
},
Audio: playback.FeedConfig{
Domain: resolveDomain(a.Domain, a.AudioDomain),
UUID: a.AudioFlowId,
Active: a.AudioFlowId != "",
},
SyncRequested: a.SyncRequested,
Retry: playback.RetryPolicy{
MaxAttempts: a.MaxAttempts,
InitialDelay: defaultInitialRetryDelay,
MaxDelay: defaultMaxRetryDelay,
},
}
}