void QSoundEffectPrivate::loadSample() { m_sampleLoaded = false; m_dataUploaded = 0; m_waveDecoder = new WaveDecoder(m_stream); connect(m_waveDecoder, SIGNAL(formatKnown()), SLOT(decoderReady())); connect(m_waveDecoder, SIGNAL(invalidFormat()), SLOT(decoderError())); }
// Called in loading thread // Essentially a second ctor, doesn't need locks (?) void QSample::load() { Q_ASSERT(QThread::currentThread()->objectName() == "QSampleCache::LoadingThread"); #ifdef QT_SAMPLECACHE_DEBUG qDebug() << "QSample: load [" << m_url << "]"; #endif m_stream = m_parent->networkAccessManager().get(QNetworkRequest(m_url)); connect(m_stream, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(decoderError())); m_waveDecoder = new QWaveDecoder(m_stream); connect(m_waveDecoder, SIGNAL(formatKnown()), SLOT(decoderReady())); connect(m_waveDecoder, SIGNAL(invalidFormat()), SLOT(decoderError())); connect(m_waveDecoder, SIGNAL(readyRead()), SLOT(readSample())); }