diff --git a/importer/fetch.go b/importer/fetch.go index 61d5aa422ddf32cce118e390d8a37fc5947b22fe..b8589bc9242c1efc81f2f710846fc3be941b4d26 100644 --- a/importer/fetch.go +++ b/importer/fetch.go @@ -129,6 +129,9 @@ func (job *Job) fetch() (interface{}, error) { err = res.err } + for _, l := range convLog { + job.im.dbgLog.Println(l.Line) + } job.Progress.set(StepFetching, 1) job.source.done <- &JobSourceResult{err, res.hash, convLog} return loudness, err diff --git a/importer/normalize.go b/importer/normalize.go index d8d404add255d18622470ce9cca63fef4afa71b7..8e534435e486c16a78309c423bedfc529c489139 100644 --- a/importer/normalize.go +++ b/importer/normalize.go @@ -55,7 +55,7 @@ func (job *Job) normalize(loudness interface{}) error { return } - written, err := io.Copy(&progressWriter{job, StepNormalizing, 0, uint64(srcStat.Size()), conv}, src) + written, err := io.Copy(&progressWriter{job, StepNormalizing, uint64(srcStat.Size()), 0, conv}, src) if err != nil { done <- err return diff --git a/importer/normalize_converter.go b/importer/normalize_converter.go index edc601b736d258af3f7991a1455f23bee88d5aa9..fda7741361c7c2c6f6faa20aa9b425d7672e0085 100644 --- a/importer/normalize_converter.go +++ b/importer/normalize_converter.go @@ -40,6 +40,8 @@ type normalizeConverter interface { func (job *Job) newNormalizeConverter(loudness interface{}) (normalizeConverter, error) { if loudness == nil { // make default converter configurable? + // mind that there is no nullNormalizeConverter because we need something to + // convert incoming files to the format the store uses. return newFFmpegNormalizeConverter(job, nil) } diff --git a/importer/types.go b/importer/types.go index 081781426124d522b748cbfbe6dd2288ebc67908..2b78d46c1f0245045060b5cc60079f0f5e054397 100644 --- a/importer/types.go +++ b/importer/types.go @@ -203,6 +203,12 @@ func (p *JobProgress) get() (step JobProgressStep, progress float32) { func (p *JobProgress) MarshalJSON() ([]byte, error) { step, progress := p.get() + if math.IsNaN(float64(progress)) || math.IsInf(float64(progress), 0) || progress < 0.0 { + progress = -1.0 + } else if progress > 1.0 { + progress = 1.0 + } + return json.Marshal(struct { Step JobProgressStep `json:"step"` Progress float32 `json:"progress"`