whipper-team / whipper

Python CD-DA ripper preferring accuracy over speed
GNU General Public License v3.0
1.14k stars 89 forks source link

Can't rip last track on a CD with 99 tracks #302

Open ghost opened 5 years ago

ghost commented 5 years ago

I can't rip the last track of a CD with 99 tracks. I tried the following command:

$ WHIPPER_DEBUG=DEBUG WHIPPER_LOGFILE=whipper.log whipper cd rip -R 5cdfa69d-7b0c-3579-af99-901b03fe33ea

Everything went well until the last track:

...
Ripping track 99 of 99: 99 [unknown].flac
Ripping track 99 of 99 (try 2): 99 [unknown].flac
Ripping track 99 of 99 (try 3): 99 [unknown].flac
Ripping track 99 of 99 (try 4): 99 [unknown].flac
Ripping track 99 of 99 (try 5): 99 [unknown].flac
track can't be ripped. Rip attempts number is equal to 'MAX_TRIES'

whipper.log.gz

Some more info:

$ whipper drive list
drive: /dev/cdrom, vendor: PLEXTOR , model: DVDR   PX-830SA , release: 1.01
       Configured read offset: 96
       Can defeat audio cache: True

I'm using media-sound/whipper-0.7.0 on a Gentoo Linux system.

JoeLametta commented 5 years ago

Thanks for reporting this issue! Could you post the output of the following command?

libcdio-paranoia --stderr-progress --sample-offset=96 --force-cdrom-device /dev/sr0 99[00:00:00.00]-99[00:01:39.14] "$HOME/track_99.wav"

If that fails you may need to: umount /dev/sr0 first.

ghost commented 5 years ago

It immediately fails with the following error message:

$ libcdio-paranoia --stderr-progress --sample-offset=96 --force-cdrom-device /dev/sr0 99[00:00:00.00]-99[00:01:39.14] $HOME/track_99.wav
Sending all callback output to stderr for wrapper script
cdparanoia III release 10.2 libcdio 2.0.0 x86_64-pc-linux-gnu
(C) 2001 Monty <monty@xiph.org> and Xiphophorus
(C) 2004, 2005, 2008 Rocky Bernstein <rocky@gnu.org>
(C) 2014 Robert Kausch <robert.kausch@freac.org>

Report bugs to bug-libcdio@gnu.org

Time/sector offset goes beyond end of specified track.
JoeLametta commented 5 years ago

Uhm... given the error message the issue seems similar to the one reported in #234 (and https://github.com/rocky/libcdio-paranoia/issues/14).

Could you please install Xiph's cdparanoia and post the output of the following command?

cdparanoia --stderr-progress --sample-offset=96 --force-cdrom-device /dev/sr0 99[00:00:00.00]-99[00:01:39.14] "$HOME/track_99_cdparanoia.wav"

Cheers, Joe

ghost commented 5 years ago

cdparanoia.log.gz

I used the following command:

cdparanoia-paranoia --stderr-progress --sample-offset=96 --force-cdrom-device /dev/sr0 99[00:00:00.00]-99[00:01:39.14] ~/track_99_cdparanoia.wav > cdparanoia.log 2>&1

On my system cdparanoia-paranoia is Xiph's one, while libcdio-paranoia is the updated one.

Some info about the output track:

$ du -b track_99_cdparanoia.wav 
17498924    track_99_cdparanoia.wav
$ mediainfo track_99_cdparanoia.wav 
General
Complete name                            : track_99_cdparanoia.wav
Format                                   : Wave
File size                                : 16.7 MiB
Duration                                 : 1 min 39 s
Overall bit rate mode                    : Constant
Overall bit rate                         : 1 411 kb/s

Audio
Format                                   : PCM
Format settings                          : Little / Signed
Codec ID                                 : 1
Duration                                 : 1 min 39 s
Bit rate mode                            : Constant
Bit rate                                 : 1 411.2 kb/s
Channel(s)                               : 2 channels
Sampling rate                            : 44.1 kHz
Bit depth                                : 16 bits
Stream size                              : 16.7 MiB (100%)
JoeLametta commented 5 years ago

All right, that confirms my suspicion: unfortunately this issue seems to be caused by a bug in libcdio-paranoia (probably similar to the one reported in https://github.com/rocky/libcdio-paranoia/issues/14).

Bujiraso commented 3 years ago

I'm also seeing this one and left some related comments on #474

On Antichrist Superstar, with 99 tracks...

$ cd-paranoia --stderr-progress --sample-offset=6 --force-cdrom-device /dev/sr0 -B 99-99 $HOME/track_99.wav
Sending all callback output to stderr for wrapper script
cdparanoia III release 10.2 libcdio 2.1.0 x86_64-pc-linux-gnu
(C) 2001 Monty <monty@xiph.org> and Xiphophorus
(C) 2004, 2005, 2008 Rocky Bernstein <rocky@gnu.org>
(C) 2014 Robert Kausch <robert.kausch@freac.org>

Report bugs to bug-libcdio@gnu.org

Selected span contains non audio track at track 101.  Aborting.