summaryrefslogtreecommitdiff
path: root/multimedia/kdemultimedia4/files/patch-kioslave-audiocd-audiocd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia/kdemultimedia4/files/patch-kioslave-audiocd-audiocd.cpp')
-rw-r--r--multimedia/kdemultimedia4/files/patch-kioslave-audiocd-audiocd.cpp147
1 files changed, 40 insertions, 107 deletions
diff --git a/multimedia/kdemultimedia4/files/patch-kioslave-audiocd-audiocd.cpp b/multimedia/kdemultimedia4/files/patch-kioslave-audiocd-audiocd.cpp
index 8abaaa1c208d..715610f1b3e8 100644
--- a/multimedia/kdemultimedia4/files/patch-kioslave-audiocd-audiocd.cpp
+++ b/multimedia/kdemultimedia4/files/patch-kioslave-audiocd-audiocd.cpp
@@ -1,110 +1,43 @@
---- kioslave/audiocd/audiocd.cpp.orig 2009-12-31 13:30:01.000000000 +0000
-+++ kioslave/audiocd/audiocd.cpp 2010-01-11 00:05:10.235745679 +0000
-@@ -215,52 +215,6 @@
- return encoderFromExtension(filename.right(len - pos));
- }
-
--static void setDeviceToCd(KCompactDisc *cd, struct cdrom_drive *drive)
--{
--#if defined(HAVE_CDDA_IOCTL_DEVICE)
-- cd->setDevice(drive->ioctl_device_name, 50, false);
--#elif defined(__FreeBSD__) || defined(__DragonFly__)
-- // FreeBSD's cdparanoia as of january 5th 2006 has rather broken
-- // support for non-SCSI devices. Although it finds ATA cdroms just
-- // fine, there is no straightforward way to discover the device
-- // name associated with the device, which throws the rest of audiocd
-- // for a loop.
-- //
-- if ( !(drive->dev) || (COOKED_IOCTL == drive->interface) )
-- {
-- // For ATAPI devices, we have no real choice. Use the
-- // user selected value, even if there is none.
-- //
-- kWarning(7117) << "Found an ATAPI device, assuming it is the one specified by the user.";
-- cd->setDevice( d->device );
-- }
-- else
-- {
-- kDebug(7117) << "Found a SCSI or ATAPICAM device.";
-- if ( strlen(drive->dev->device_path) > 0 )
-- {
+--- ./kioslave/audiocd/audiocd.cpp.orig 2010-06-06 08:15:20.000000000 -0400
++++ ./kioslave/audiocd/audiocd.cpp 2010-06-06 08:18:01.000000000 -0400
+@@ -229,20 +229,21 @@
+ // name associated with the device, which throws the rest of audiocd
+ // for a loop.
+ //
++ QString devname;
+ if ( !(drive->dev) || (COOKED_IOCTL == drive->interface) )
+ {
+ // For ATAPI devices, we have no real choice. Use the
+ // user selected value, even if there is none.
+ //
+ kWarning(7117) << "Found an ATAPI device, assuming it is the one specified by the user.";
+- cd->setDevice( drive->cdda_device_name );
++ devname = drive->cdda_device_name;
+ }
+ else
+ {
+ kDebug(7117) << "Found a SCSI or ATAPICAM device.";
+ if ( strlen(drive->dev->device_path) > 0 )
+ {
- cd->setDevice( drive->dev->device_path );
-- }
-- else
-- {
-- // But the device_path can be empty under some
-- // circumstances, so build a representation from
-- // the unit number and SCSI device name.
-- //
++ devname = drive->dev->device_path;
+ }
+ else
+ {
+@@ -250,13 +251,14 @@
+ // circumstances, so build a representation from
+ // the unit number and SCSI device name.
+ //
- QString devname = QString::fromLatin1( "/dev/%1%2" )
-- .arg( drive->dev->given_dev_name )
-- .arg( drive->dev->given_unit_number ) ;
-- kDebug(7117) << " Using derived name " << devname;
++ devname = QString::fromLatin1( "/dev/%1%2" )
+ .arg( drive->dev->given_dev_name )
+ .arg( drive->dev->given_unit_number ) ;
+ kDebug(7117) << " Using derived name " << devname;
- cd->setDevice( devname );
-- }
-- }
--#else
--#ifdef __GNUC__
-- #warning audiocd ioslave is not going to work for you
--#endif
--#endif
--}
--
- struct cdrom_drive * AudioCDProtocol::initRequest(const KUrl & url)
- {
- if (url.hasHost())
-@@ -284,7 +238,53 @@
- {
- // Update our knowledge of the disc
- KCompactDisc cd(KCompactDisc::Asynchronous);
-- setDeviceToCd(&cd, drive);
-+#if defined(HAVE_CDDA_IOCTL_DEVICE)
-+ cd.setDevice(drive->ioctl_device_name, 50, false);
-+#elif defined(__FreeBSD__) || defined(__DragonFly__)
-+ // FreeBSD's cdparanoia as of january 5th 2006 has
-+ // rather broken support for non-SCSI devices.
-+ // Although it finds ATA cdroms just fine, there is
-+ // no straightforward way to discover the device name
-+ // associated with the device, which throws the rest
-+ // of audiocd for a loop.
-+ //
-+ QString devname;
-+ if ( !(drive->dev) || (COOKED_IOCTL == drive->interface) )
-+ {
-+ // For ATAPI devices, we have no real choice.
-+ // Use the user selected value, even if there
-+ // is none.
-+ //
-+ kWarning(7117) << "Found an ATAPI device, assuming it is the one specified by the user.";
-+ devname = d->device;
-+ }
-+ else
-+ {
-+ kDebug(7117) << "Found a SCSI or ATAPICAM device.";
-+ if ( strlen(drive->dev->device_path) > 0 )
-+ {
-+ devname = drive->dev->device_path;
-+ }
-+ else
-+ {
-+ // But the device_path can be empty
-+ // under some circumstances, so build
-+ // a representation from the unit
-+ // number and SCSI device name.
-+ //
-+ devname = QString::fromLatin1( "/dev/%1%2" )
-+ .arg( drive->dev->given_dev_name )
-+ .arg( drive->dev->given_unit_number ) ;
-+ kDebug(7117) << " Using derived name " << devname;
-+ }
-+ }
-+ if ( cd.deviceName() != devname )
-+ cd.setDevice( devname );
-+#else
-+#ifdef __GNUC__
-+ #warning audiocd ioslave is not going to work for you
-+#endif
-+#endif
- d->setToc(drive);
-
- d->tracks = cd.tracks();
+ }
+ }
++ if ( cd->deviceName() != devname )
++ cd->setDevice( devname );
+ #else
+ #ifdef __GNUC__
+ #warning audiocd ioslave is not going to work for you