From 03619dd7f9ab7719406a355bfda0a0611a46ccb1 Mon Sep 17 00:00:00 2001 From: Christian Pointner <equinox@helsinki.at> Date: Sun, 2 Sep 2018 00:41:05 +0200 Subject: [PATCH] fixed progress reporting --- importer/fetch.go | 3 +++ importer/normalize.go | 2 +- importer/normalize_converter.go | 2 ++ importer/types.go | 6 ++++++ 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/importer/fetch.go b/importer/fetch.go index 61d5aa4..b8589bc 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 d8d404a..8e53443 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 edc601b..fda7741 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 0817814..2b78d46 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"` -- GitLab