}
void playlist::freeMemory(int position)
{
+ pList->at(position)->downloaded = false;
delete pList->at(position)->buffer;
pList->at(position)->buffer = new QBuffer();
}
if(pList->size() > position)
{
this->currentplayingitem = position;
+ if(!pList->at(position)->downloaded && this->currentdownloaditem != this->currentplayingitem)
+ this->beginDownload(position);
/*if(pList->at(position)->bufferready == false &&)
{
if(!pList->at(position)->downloaded)
req.setHeader(req.ContentTypeHeader,QVariant("application/x-www-form-urlencoded"));
if(reply)
{
- reply->abort();
- delete reply;
+ reply->disconnect();
+ reply->deleteLater();
}
reply = manager->post(req,QString("streamKey=" + pList->at(this->currentdownloaditem)->streamkey->toAscii()).toAscii());
pList->at(this->currentdownloaditem)->buffer->open(QBuffer::ReadWrite | QBuffer::Truncate);
connect(reply,SIGNAL(downloadProgress(qint64,qint64)),this,SLOT(downloadSlot(qint64,qint64)));
connect(reply,SIGNAL(finished()),this,SLOT(networkReplyFinish()));
connect(this,SIGNAL(downloadComplete(int)),this,SLOT(downloadDone(int)));
+ connect(reply,SIGNAL(error(QNetworkReply::NetworkError)),this,SLOT(getNError(QNetworkReply::NetworkError)));
startStreamT = QTime::currentTime();
}
+void playlist::getNError(QNetworkReply::NetworkError error)
+{
+ qDebug() << "Network Error (if this is 99 then it will retry" << error;
+ if(error == QNetworkReply::UnknownNetworkError)
+ beginDownload(this->currentdownloaditem);
+
+}
void playlist::setGscom(gscom *comm)
{
QNetworkRequest req;
req.setUrl(url.toUrl());
qDebug() << url;
+ if(reply)
+ {
+ reply->disconnect();
+ reply->deleteLater();
+ }
reply = manager->get(req);
startStreamT = QTime::currentTime();
//connect(reply,SIGNAL(finished()),this,SLOT(start()));
connect(reply,SIGNAL(downloadProgress(qint64,qint64)),this,SLOT(downloadSlot(qint64,qint64)));
+ connect(reply,SIGNAL(finished()),this,SLOT(networkReplyFinish()));
+ connect(reply,SIGNAL(error(QNetworkReply::NetworkError)),this,SLOT(getNError(QNetworkReply::NetworkError)));
}
}