[k3b] [Bug 137436] Adding support for cdrskin as an alternative to cdrecord/wodim
Thomas Schmitt
bugzilla_noreply at kde.org
Tue Nov 29 11:34:17 UTC 2016
https://bugs.kde.org/show_bug.cgi?id=137436
--- Comment #36 from Thomas Schmitt <scdbackup at gmx.net> ---
Hi,
looking at
https://cgit.kde.org/k3b.git/commit/?id=0cbea61ca4aa60ce3d6fb2dab67023d5ac8e1e4f
i still riddle about the version dependent feature detector in
libk3b/core/k3bdefaultexternalprograms.cpp
Many of the version tests seem to still bear the cdrecord version numbers.
Like:
if (bin.version() >= K3b::Version(1, 1, 1))
This needs to be translated to cdrskin numbers, if applicable at all.
-------------------------------------------------------------------------
You need to find out what the features mean in K3B.
For now i can only make statements about cdrskin aspects of the decision
making code:
"dvd-patch"
There is no "-dvd" in the "Cdrecord" pseudo version line or in the
real cdrskin version line.
So if this feature is applicable to cdrskin we need a different test for it.
"outdated"
Since cdrskin aims for (limited) compatibility with cdrecord 2.01,
i think you can safely remove this test.
"plain-atapi"
"hacked-atapi"
This may be about the "ATA:..." or "ATAPI:..." drive addresses.
Besides the fact that in Linux since about 2007 all IDE ATAPI drives have
SCSI addresses, cdrskin can handle drive addresses of form
"ATA:Bus,Lun,Target" and "ATAPI:Bus,Lun,Target", where the IDE drive
address is computed like
printf("/dev/hd%c", 'a' + 2 * Bus + Lun);
E.g.: "ATA:1,1,0" = "/dev/hdc".
You may expect this feature unconditionally.
"short-track-raw"
No idea what that means. If "raw" is related to write modes like "-raw96",
then it is most probably not supported.
"audio-stdin"
Hard to say what this shall be.
"burnfree"
"burnproof"
No need to distinguish versions here. Both names are supposed to work.
"dvd"
DVD support was complete in cdrskin-0.4.4, 8 Mar 2008.
--------------------------------------------------------------------------
> + if (output.contains("-xamix") || bin.version() >= K3b::Version(1, 1, 1))
> bin.addFeature("xamix");
The version number seems to be cdrecord-ish. No cdrskin version supports
option "-xamix" yet.
--------------------------------------------------------------------------
> + if (image.isEmpty()) {
> + // TODO: this is a companion of "-useinfo". Needs to become conditional then.
> + writer->addArgument(QFile::encodeName(d->infFileName(audioTrackCnt)));
I think you should for now just throw an error in this case.
It looks like cdrecord gets .inf files instead of track sources.
No version of cdrskin can do this yet.
--------------------------------------------------------------------------
> + d->process << "gracetime=0"; // I am Thomas and i allow gracetime=0. :)
No, no. You are Leslie. :))
(Nevertheless, Thomas allows 0 gracetime.)
--------------------------------------------------------------------------
> + // TODO: so does need to check formatWritingSpeedFactor?
> + d->process << QString("speed=%1").arg(formatWritingSpeedFactor(d->usedSpeed, d->burnedMediaType, SpeedFormatInteger));
Interesting question.
cdrskin interprets speed numbers depending on the medium type:
CD = 153600 bytes/s, DVD = 1385000 bytes/s, BD = 4495625 bytes/s.
--------------------------------------------------------------------------
> + * Then what about raw16 and raw96p?
cdrskin supports only -audio and -data.
Options -xa1, -xa, -xa2, -mode2 do not lead to error but the payload is
nevertheless written as -data.
--------------------------------------------------------------------------
> + d->process << "blank=deformat_sequential_quickest";
This should only be applied to DVD-RW media, if ever.
It produces a crippled medium state which can only accept a single DAO
session. (On the other hand, full DVD-RW blanking lasts 20 to 40 minutes.)
--------------------------------------------------------------------------
Have a nice day :)
Thomas
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the k3b
mailing list