Hello,
has anyone figured out which settings the audiocd ioslave uses for cdparanoia? I try below -- it seems that it uses a quite paranoid setting -- but am I correct? If so, how does that relate to the complaint about kaudiocreator not using cdparanoia in a recent post?
Still to investigate: Which error conditions are brought to the user's attention?
It seems that the default for the audiocd ioslave is to use its internal parameter "paranoiaLevel = 2", unless anything is set in the configuration file .kde/share/config/kcmaudiocdrc, or the option paranoia_level is specified in the URL; which then overrides the configuration setting.
Why are these things not documented?
From audiocd.cpp:
|
Source code
|
1
2
3
4
5
6
7
8
9
10
|
d->paranoiaLevel = 1; // enable paranoia error correction, but allow skipping
if (config->readBoolEntry("disable_paranoia",false)) {
d->paranoiaLevel = 0; // disable all paranoia error correction
}
if (config->readBoolEntry("never_skip",true)) {
d->paranoiaLevel = 2;
// never skip on errors of the medium, should be default for high quality
}
|
Setting #2 would be full paranoia, which is a good thing in my opinion. (Though the line concerning PARANOIA_MODE_OVERLAP below seems to be a no-op?).
Here is how the setting is applied:
|
Source code
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
int paranoiaLevel = PARANOIA_MODE_FULL ^ PARANOIA_MODE_NEVERSKIP;
switch (d->paranoiaLevel)
{
case 0:
paranoiaLevel = PARANOIA_MODE_DISABLE;
break;
case 1:
paranoiaLevel |= PARANOIA_MODE_OVERLAP;
paranoiaLevel &= ~PARANOIA_MODE_VERIFY;
break;
case 2:
paranoiaLevel |= PARANOIA_MODE_NEVERSKIP;
default:
break;
}
|
And from cdda_paranoia.h:
|
Source code
|
1
2
3
4
5
6
7
8
9
|
#define PARANOIA_MODE_FULL 0xff
#define PARANOIA_MODE_DISABLE 0
#define PARANOIA_MODE_VERIFY 1
#define PARANOIA_MODE_FRAGMENT 2
#define PARANOIA_MODE_OVERLAP 4
#define PARANOIA_MODE_SCRATCH 8
#define PARANOIA_MODE_REPAIR 16
#define PARANOIA_MODE_NEVERSKIP 32
|