void MediaMonitor::SetCDSpeed(const char *device, int speed) { MediaMonitor *mon = GetMediaMonitor(); if (mon) { MythMediaDevice *pMedia = mon->GetMedia(device); if (pMedia && mon->ValidateAndLock(pMedia)) { pMedia->setSpeed(speed); mon->Unlock(pMedia); return; } } MythCDROM *cd = MythCDROM::get(NULL, device, false, false); if (cd) { cd->setDeviceSpeed(device, speed); delete cd; return; } LOG(VB_MEDIA, LOG_INFO, QString("MediaMonitor::setSpeed(%1) - Cannot find/create CDROM?") .arg(device)); }
void Ripper::ejectCD() { LOG(VB_MEDIA, LOG_INFO, __PRETTY_FUNCTION__); bool bEjectCD = gCoreContext->GetNumSetting("EjectCDAfterRipping",1); if (bEjectCD) { #ifdef HAVE_CDIO LOG(VB_MEDIA, LOG_INFO, QString("Ripper::%1 '%2'"). arg(__func__).arg(m_CDdevice)); (void)cdio_eject_media_drive(m_CDdevice.toLatin1().constData()); #else MediaMonitor *mon = MediaMonitor::GetMediaMonitor(); if (mon) { QByteArray devname = m_CDdevice.toLatin1(); MythMediaDevice *pMedia = mon->GetMedia(devname.constData()); if (pMedia && mon->ValidateAndLock(pMedia)) { pMedia->eject(); mon->Unlock(pMedia); } } #endif // HAVE_CDIO } }
void Ripper::ejectCD() { bool bEjectCD = gCoreContext->GetNumSetting("EjectCDAfterRipping",1); if (bEjectCD) { #ifdef HAVE_CDAUDIO QByteArray devname = m_CDdevice.toAscii(); int cdrom_fd = cd_init_device(const_cast<char*>(devname.constData())); VERBOSE(VB_MEDIA, "Ripper::ejectCD() - dev " + m_CDdevice); if (cdrom_fd != -1) { if (cd_eject(cdrom_fd) == -1) perror("Failed on cd_eject"); cd_finish(cdrom_fd); } else perror("Failed on cd_init_device"); #else MediaMonitor *mon = MediaMonitor::GetMediaMonitor(); if (mon) { QByteArray devname = m_CDdevice.toAscii(); MythMediaDevice *pMedia = mon->GetMedia(devname.constData()); if (pMedia && mon->ValidateAndLock(pMedia)) { pMedia->eject(); mon->Unlock(pMedia); } } #endif } }