void YTLocalVideoData::videoDownloadFinished() { _mutex.lock(); Q_ASSERT(_videoFile->size() > 0); Q_ASSERT(_videoPath.endsWith(kPartialContentSuffix)); _videoPath = _videoPath.left(_videoPath.size() - strlen(kPartialContentSuffix)); if (QFile(_videoPath).exists()) QFile(_videoPath).remove(); _videoFile->rename(_videoPath); _videoFile.clear(); Q_ASSERT(!_quality.isEmpty()); _mutex.unlock(); QSqlQuery q; q.prepare("UPDATE local_videos SET video=?, quality=? WHERE videoId=?"); q.addBindValue(_videoPath); q.addBindValue(_quality); q.addBindValue(_videoId); executeSqlQuery(q); emit videoUrlChanged(videoUrl()); qDebug() << "Finished downloading video: " << _videoId; }
void VideoDetailsModel::retriveRealUrl() { Video *video = new Video; QUrl videoUrl(m_videoUrl); video->setWebpage(videoUrl); video->loadStreamUrl(); connect(video, SIGNAL(gotStreamUrl(QUrl)), this, SLOT(streamUrl(QUrl))); }
DlnaYouTubeVideo::DlnaYouTubeVideo(Logger *log, QString host, int port, QObject *parent) : DlnaVideoItem(log, host, port, parent), m_url(), m_analyzeStream(true), m_videoUrlInProgress(false), m_unavailableMessage(), m_title(), m_streamUrl(), ffmpeg(this), m_youtube(0), mutex(), replyWaitCondition() { m_youtube = new YouTube(); connect(this, SIGNAL(destroyed()), m_youtube, SLOT(deleteLater())); connect(this, SIGNAL(getVideoUrl(QString)), m_youtube, SLOT(getVideoUrl(QString))); connect(m_youtube, SIGNAL(videoNotAvailable(QString)), this, SLOT(videoNotAvailable(QString))); connect(m_youtube, SIGNAL(gotVideoTitle(QString)), this, SLOT(videoTitle(QString))); connect(m_youtube, SIGNAL(gotVideoUrl(QString)), this, SLOT(videoUrl(QString))); connect(m_youtube, SIGNAL(videoUrlError(QString)), this, SLOT(videoUrlError(QString))); }