harden qobuz and downloader reliability edge cases

This commit is contained in:
2026-04-21 18:54:10 +02:00
parent 0161c01a4c
commit de4e561377
8 changed files with 424 additions and 35 deletions

View File

@@ -28,6 +28,12 @@ func TestBuildFFmpegArgsLossless(t *testing.T) {
if !strings.Contains(joined, "sample_fmts=s16p|s16") {
t.Fatalf("missing bit depth filter args=%s", joined)
}
if !strings.Contains(joined, "-map 0:v:0?") {
t.Fatalf("missing optional cover map args=%s", joined)
}
if !strings.Contains(joined, "-disposition:v:0 attached_pic") {
t.Fatalf("missing attached_pic disposition args=%s", joined)
}
}
func TestBuildFFmpegArgsLossy(t *testing.T) {
@@ -40,4 +46,16 @@ func TestBuildFFmpegArgsLossy(t *testing.T) {
if !strings.Contains(joined, "-b:a 320k") {
t.Fatalf("missing bitrate args=%s", joined)
}
if !strings.Contains(joined, "-id3v2_version 3") {
t.Fatalf("missing id3v2 args=%s", joined)
}
}
func TestBuildFFmpegArgsNoCoverForOpus(t *testing.T) {
cfg := config.ConversionConfig{Enabled: true, Codec: "OPUS", LossyBitrate: 192}
args := buildFFmpegArgs("in.flac", "out.opus", profiles["OPUS"], cfg)
joined := strings.Join(args, " ")
if strings.Contains(joined, "-map 0:v:0?") {
t.Fatalf("unexpected cover map args=%s", joined)
}
}