Package: mp3cd Version: 1.25.3-1 Severity: grave Tags: patch Justification: renders package unusable
As of version 13, SoX has changed the format of the information sent to stdout. Because of this, mp3cd fails to parse the information and no CD can be burnt. The attached patch should fix this. -- System Information: Debian Release: 4.0 APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.18-4-686 Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Versions of packages mp3cd depends on: ii cdrdao 1:1.2.2-6 records CDs in Disk-At-Once (DAO) ii libconfig-simple-perl 4.58-1 simple configuration file class ii normalize-audio 0.7.7-1 adjust the volume of WAV files to ii perl 5.8.8-7 Larry Wall's Practical Extraction ii sox 13.0.0-1 Swiss army knife of sound processi Versions of packages mp3cd recommends: pn flac <none> (no description available) ii mpg123 0.61-5 MPEG layer 1/2/3 audio player ii vorbis-tools 1.1.1-11 several Ogg Vorbis tools -- no debconf information
--- /usr/bin/mp3cd 2007-03-03 22:12:37.000000000 +0100 +++ mp3cd 2007-03-21 18:49:17.000000000 +0100 @@ -677,17 +677,37 @@ my $name=shift(@parts); print "Checking WAV format for track $name ...\n"; my $report=`sox -V $wav $wav.raw trim 0.1 1 2>&1`; -# sox: Reading Wave file: Microsoft PCM format, 2 channels, 44100 samp/sec -# sox: 176400 byte/sec, 4 block align, 16 bits/samp, 44886528 data bytes - $report =~ m|(\d+) channels?|s + + `sox -h` =~ /SoX Version (\d+\.\d+\.\d)/; + my $sox_version = $1; + $sox_version =~ tr/./_/; + # In version 13, the format has changed + my ($channels, $frequency, $samples); + if($sox_version >= 13) { + $report =~ m|Channels\s+:\s+(\d+)|s or die "sox did not report channel count:\n$report"; - my $channels = $1; - $report =~ m|(\d+) samp/sec|s + $channels = $1; + $report =~ m|Sample Rate\s+:\s+(\d+)|s or die "sox did not report sample frequency:\n$report"; - my $frequency = $1; - $report =~ m|(\d+) bits/samp|s + $frequency = $1; + $report =~ m|Sample Size\s+:\s+(\d+)-bit|s or die "sox did not report sample size:\n$report"; - my $samples = $1; + $samples = $1; + } else { + # sox: Reading Wave file: Microsoft PCM format, 2 channels, + # sox: 44100 samp/sec 176400 byte/sec, block align, 16 bits/samp, + # sox: 44886528 data bytes + $report =~ m|(\d+) channels?|s + or die "sox did not report channel count:\n$report"; + $channels = $1; + $report =~ m|(\d+) samp/sec|s + or die "sox did not report sample frequency:\n$report"; + $frequency = $1; + $report =~ m|(\d+) bits/samp|s + or die "sox did not report sample size:\n$report"; + $samples = $1; + } + unless ($channels == 2 && $frequency == 44100 && $samples == 16)