void SoundSourceProxy::initSoundSource() { DEBUG_ASSERT(!m_pSoundSource); DEBUG_ASSERT(!m_pAudioSource); while (!m_pSoundSource) { mixxx::SoundSourceProviderPointer pProvider(getSoundSourceProvider()); if (!pProvider) { if (!getUrl().isEmpty()) { kLogger.warning() << "No SoundSourceProvider for file" << getUrl().toString(); } // Failure return; } m_pSoundSource = pProvider->newSoundSource(m_url); if (!m_pSoundSource) { kLogger.warning() << "SoundSourceProvider" << pProvider->getName() << "failed to create a SoundSource for file" << getUrl().toString(); // Switch to next provider... nextSoundSourceProvider(); // ...and continue loop DEBUG_ASSERT(!m_pSoundSource); } else { if (kLogger.debugEnabled()) { kLogger.debug() << "SoundSourceProvider" << pProvider->getName() << "created a SoundSource for file" << getUrl().toString() << "of type" << m_pSoundSource->getType(); } } } }
void SoundSourceProxy::initSoundSource() { DEBUG_ASSERT(m_pSoundSource.isNull()); DEBUG_ASSERT(m_pAudioSource.isNull()); while (m_pSoundSource.isNull()) { Mixxx::SoundSourceProviderPointer pProvider(getSoundSourceProvider()); if (pProvider.isNull()) { qWarning() << "No SoundSourceProvider for file" << getUrl(); // Failure return; } m_pSoundSource = pProvider->newSoundSource(m_url); if (m_pSoundSource.isNull()) { qWarning() << "SoundSourceProvider" << pProvider->getName() << "failed to create a SoundSource for file" << getUrl(); // Switch to next provider... nextSoundSourceProvider(); // ...and continue loop DEBUG_ASSERT(m_pSoundSource.isNull()); } else { QString trackType(m_pSoundSource->getType()); qDebug() << "SoundSourceProvider" << pProvider->getName() << "created a SoundSource for file" << getUrl() << "of type" << trackType; if (!m_pTrack.isNull()) { m_pTrack->setType(trackType); } } } }