summaryrefslogtreecommitdiff
path: root/rhimport/converter.go
diff options
context:
space:
mode:
Diffstat (limited to 'rhimport/converter.go')
-rw-r--r--rhimport/converter.go9
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
}