Add WhisperX configuration contract
This commit is contained in:
@@ -15,6 +15,7 @@ func LoadPipeline(path string) (*PipelineConfig, error) {
|
||||
if err := decodeStrictYAML("pipeline", path, &cfg); err != nil {
|
||||
return nil, fmt.Errorf("load pipeline config: %w", err)
|
||||
}
|
||||
applyPipelineDefaults(&cfg)
|
||||
return &cfg, nil
|
||||
}
|
||||
|
||||
@@ -75,3 +76,36 @@ func shortName(path, fallback string) string {
|
||||
}
|
||||
return base
|
||||
}
|
||||
|
||||
func applyPipelineDefaults(cfg *PipelineConfig) {
|
||||
if cfg == nil {
|
||||
return
|
||||
}
|
||||
applyWhisperXDefaults(&cfg.WhisperX)
|
||||
}
|
||||
|
||||
func applyWhisperXDefaults(cfg *WhisperXConfig) {
|
||||
if cfg == nil {
|
||||
return
|
||||
}
|
||||
if cfg.Language == "" {
|
||||
cfg.Language = "en"
|
||||
}
|
||||
if cfg.Timeout == "" {
|
||||
cfg.Timeout = "30m"
|
||||
}
|
||||
if cfg.RetryDelay == "" {
|
||||
cfg.RetryDelay = "2s"
|
||||
}
|
||||
if cfg.Concurrency == nil {
|
||||
cfg.Concurrency = intPtr(2)
|
||||
}
|
||||
if cfg.Retries == nil {
|
||||
cfg.Retries = intPtr(3)
|
||||
}
|
||||
}
|
||||
|
||||
func intPtr(v int) *int {
|
||||
p := v
|
||||
return &p
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user