summaryrefslogtreecommitdiff
path: root/rhimport/converter.go
diff options
context:
space:
mode:
authorChristian Pointner <equinox@helsinki.at>2016-08-03 15:45:50 (GMT)
committerChristian Pointner <equinox@helsinki.at>2016-08-03 15:45:50 (GMT)
commit012102accf5a3422675bb471925f41f379a73f09 (patch)
tree326d16aa064c82d278069658c87f60e0079a24c9 /rhimport/converter.go
parentfd6f2c85fc89f3d67038c3b60eb38061c50cfedc (diff)
added ExtraMetaData to context for converters who support this
Diffstat (limited to 'rhimport/converter.go')
-rw-r--r--rhimport/converter.go30
1 files changed, 13 insertions, 17 deletions
diff --git a/rhimport/converter.go b/rhimport/converter.go
index d9ac263..caef974 100644
--- a/rhimport/converter.go
+++ b/rhimport/converter.go
@@ -48,20 +48,20 @@ type fetchConverterResult struct {
loudnessCorr float64
}
-func newFetchConverter(ctx *Context, filename string, metadata map[string]string) (fetchConverter, string, error) {
+func newFetchConverter(ctx *Context, filename string) (fetchConverter, string, error) {
switch ctx.FetchConverter {
case "null":
// no support for loudness evaluation - leave normalization to Rivendell
- return newNullFetchConverter(ctx, filename, metadata)
+ return newNullFetchConverter(ctx, filename)
case "ffmpeg":
// no support for loudness evaluation - leave normalization to Rivendell
- return newFFMpegFetchConverter(ctx, filename, metadata)
+ return newFFMpegFetchConverter(ctx, filename)
case "bs1770":
ctx.NormalizationLevel = 0 // disable Rivendell normalization
- return newBS1770FetchConverter(ctx, filename, metadata)
+ return newBS1770FetchConverter(ctx, filename)
case "ffmpeg-bs1770":
ctx.NormalizationLevel = 0 // disable Rivendell normalization
- return newFFMpegBS1770FetchConverter(ctx, filename, metadata)
+ return newFFMpegBS1770FetchConverter(ctx, filename)
}
return nil, "", errors.New("unknown fetch converter type: " + ctx.FetchConverter)
}
@@ -74,7 +74,7 @@ type nullFetchConverter struct {
file *os.File
}
-func newNullFetchConverter(ctx *Context, filename string, metadata map[string]string) (n *nullFetchConverter, newFilename string, err error) {
+func newNullFetchConverter(ctx *Context, filename string) (n *nullFetchConverter, newFilename string, err error) {
n = &nullFetchConverter{}
newFilename = filepath.Dir(filename) + "/conv-null" + filepath.Ext(filename)
ctx.stdlog.Printf("null-converter: opening file '%s' -> '%s'", filename, newFilename)
@@ -104,15 +104,13 @@ type ffmpegFetchConverter struct {
result chan fetchConverterResult
}
-func newFFMpegFetchConverter(ctx *Context, filename string, metadata map[string]string) (ff *ffmpegFetchConverter, filenameFlac string, err error) {
+func newFFMpegFetchConverter(ctx *Context, filename string) (ff *ffmpegFetchConverter, filenameFlac string, err error) {
ff = &ffmpegFetchConverter{}
filenameFlac = filepath.Dir(filename) + "/conv-ffmpeg.flac"
ctx.stdlog.Printf("ffmpeg-converter: starting ffmpeg for file '%s' -> '%s'", filename, 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=%s", key, value))
- }
+ for key, value := range ctx.ExtraMetaData {
+ ff.cmd.Args = append(ff.cmd.Args, "-metadata", fmt.Sprintf("%s=%s", key, value))
}
ff.cmd.Args = append(ff.cmd.Args, "-ar", strconv.FormatUint(uint64(ctx.conf.SampleRate), 10), "-ac", strconv.FormatUint(uint64(ctx.Channels), 10), "-f", "flac", filenameFlac)
if ff.pipe, err = ff.cmd.StdinPipe(); err != nil {
@@ -163,7 +161,7 @@ type bs1770FetchConverter struct {
result chan fetchConverterResult
}
-func newBS1770FetchConverter(ctx *Context, filename string, metadata map[string]string) (bs *bs1770FetchConverter, newFilename string, err error) {
+func newBS1770FetchConverter(ctx *Context, filename string) (bs *bs1770FetchConverter, newFilename string, err error) {
bs = &bs1770FetchConverter{}
newFilename = filepath.Dir(filename) + "/conv-bs1770" + filepath.Ext(filename)
ctx.stdlog.Printf("bs1770-converter: starting bs1770gain for file '%s' -> '%s'", filename, newFilename)
@@ -241,15 +239,13 @@ type ffmpegBS1770FetchConverter struct {
resultBS chan fetchConverterResult
}
-func newFFMpegBS1770FetchConverter(ctx *Context, filename string, metadata map[string]string) (ff *ffmpegBS1770FetchConverter, filenameFlac string, err error) {
+func newFFMpegBS1770FetchConverter(ctx *Context, filename string) (ff *ffmpegBS1770FetchConverter, filenameFlac string, err error) {
ff = &ffmpegBS1770FetchConverter{}
filenameFlac = filepath.Dir(filename) + "/conv-ffmpeg-bs1770.flac"
ctx.stdlog.Printf("ffmpeg-bs1770-converter: starting ffmpeg and bs1770gain for file '%s' -> '%s'", filename, filenameFlac)
ff.ffmpeg = exec.Command("ffmpeg", "-loglevel", "warning", "-i", "pipe:0", "-map_metadata", "0")
- if metadata != nil {
- for key, value := range metadata {
- ff.ffmpeg.Args = append(ff.ffmpeg.Args, "-metadata", fmt.Sprintf("%s=%s", key, value))
- }
+ for key, value := range ctx.ExtraMetaData {
+ ff.ffmpeg.Args = append(ff.ffmpeg.Args, "-metadata", fmt.Sprintf("%s=%s", key, value))
}
ff.ffmpeg.Args = append(ff.ffmpeg.Args, "-ar", strconv.FormatUint(uint64(ctx.conf.SampleRate), 10), "-ac", strconv.FormatUint(uint64(ctx.Channels), 10), "-f", "flac", filenameFlac)
ff.ffmpeg.Args = append(ff.ffmpeg.Args, "-ar", strconv.FormatUint(uint64(ctx.conf.SampleRate), 10), "-ac", strconv.FormatUint(uint64(ctx.Channels), 10), "-f", "flac", "pipe:1")