diff options
Diffstat (limited to 'rhimport/converter.go')
-rw-r--r-- | rhimport/converter.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/rhimport/converter.go b/rhimport/converter.go index a451e24..f48a041 100644 --- a/rhimport/converter.go +++ b/rhimport/converter.go @@ -26,6 +26,7 @@ package rhimport import ( "errors" + "fmt" "io" "os" "os/exec" @@ -96,7 +97,13 @@ func NewFFMpegFetchConverter(filename string, metadata map[string]string) (ff *F ext := filepath.Ext(filename) filenameFlac = strings.TrimSuffix(filename, ext) + ".flac" rhl.Printf("ffmpeg-converter: starting ffmpeg for file '%s' (had extension: '%s')", filenameFlac, ext) - ff.cmd = exec.Command("ffmpeg", "-loglevel", "warning", "-i", "-", "-map_metadata", "0", "-f", "flac", filenameFlac) + ff.cmd = exec.Command("ffmpeg", "-loglevel", "warning", "-i", "-", "-map_metadata", "0") + if metadata != nil { + for key, value := range metadata { + ff.cmd.Args = append(ff.cmd.Args, "-metadata", fmt.Sprintf("%s=%q", key, value)) + } + } + ff.cmd.Args = append(ff.cmd.Args, "-f", "flac", filenameFlac) if ff.pipe, err = ff.cmd.StdinPipe(); err != nil { return nil, "", err } |