thomasvs / morituri

For those about to RIP - a Unix CD ripper preferring accuracy over speed
GNU General Public License v3.0
301 stars 42 forks source link

Several issues with cdrdao #143

Open felixlen opened 9 years ago

felixlen commented 9 years ago

On some discs ripping fails in the analyze phase in different ways. I attach output/stacktrace for all three examples.

Case 1:

Using configured read offset 667
Checking device /dev/sr0
rip: error: cannot read CD from drive... 100 %
cdrdao says:
Cannot read disk toc.

Case 2:

Using configured read offset 667
Checking device /dev/sr0
CDDB disc id: 380bab05                        
MusicBrainz disc id eV3832Dr0UWxOBOPyFA3O8J0diA-
MusicBrainz lookup URL http://mm.musicbrainz.org/bare/cdlookup.html?toc=1+5+224175+150+54776+105979+127171+171884&tracks=5&id=eV3832Dr0UWxOBOPyFA3O8J0diA-
Disc duration: 00:49:47.000, 5 audio tracks

Matching releases:

Artist  : Olivier Messiaen; London Philharmonic Orchestra, Christoph Eschenbach
Title   : Des canyons aux étoiles (Disc 2 of 2)
Duration: 00:49:46.998
URL     : http://musicbrainz.org/release/e2a7a5ce-a6d6-4915-af65-5db486b7039b
Release : e2a7a5ce-a6d6-4915-af65-5db486b7039b
Type    : Album

rip: error: cannot read CD from drive. 2) ... 100 %
cdrdao says:
Reading of CD-TEXT data failed.

Case 3:

Using configured read offset 667
Checking device /dev/sr0
Traceback (most recent call last):            
  File "/usr/bin/rip", line 41, in <module>
    sys.exit(main.main(sys.argv[1:]))
  File "/usr/lib/python2.7/dist-packages/morituri/rip/main.py", line 45, in main
    ret = c.parse(argv)
  File "/usr/lib/python2.7/dist-packages/morituri/rip/main.py", line 123, in parse
    logcommand.LogCommand.parse(self, argv)
  File "/usr/lib/python2.7/dist-packages/morituri/extern/command/command.py", line 401, in parse
    return self.subCommands[command].parse(args[1:])
  File "/usr/lib/python2.7/dist-packages/morituri/extern/command/command.py", line 401, in parse
    return self.subCommands[command].parse(args[1:])
  File "/usr/lib/python2.7/dist-packages/morituri/extern/command/command.py", line 363, in parse
    ret = self.do(args)
  File "/usr/lib/python2.7/dist-packages/morituri/rip/cd.py", line 79, in do
    self.device)
  File "/usr/lib/python2.7/dist-packages/morituri/common/program.py", line 134, in getFastToc
    function(runner, t)
  File "/usr/lib/python2.7/dist-packages/morituri/common/program.py", line 125, in function
    r.run(t)
  File "/usr/lib/python2.7/dist-packages/morituri/extern/task/task.py", line 490, in run
    raise TaskException(task.exception, message=msg)
morituri.extern.task.task.TaskException: (ProgramError('Reading of CD-TEXT data failed.',), None)

Is there a way to continue? I don't need to have metadata supplied by morituri but would be glad to be able to rip those cds anyway.