void DownloadItem::gotStreamUrl(QUrl /*streamUrl*/) { Video *video = static_cast<Video *>(sender()); if (!video) { qDebug() << "Cannot get sender"; return; } video->disconnect(this); m_url = video->getStreamUrl(); start(); }
void MediaView::gotStreamUrl(const QString &streamUrl, const QString &audioUrl) { if (stopped) return; if (streamUrl.isEmpty()) { qWarning() << "Empty stream url"; skip(); return; } Video *video = static_cast<Video *>(sender()); if (!video) { qDebug() << "Cannot get sender in" << __PRETTY_FUNCTION__; return; } video->disconnect(this); currentVideoId = video->getId(); if (audioUrl.isEmpty()) { qDebug() << "Playing" << streamUrl; media->play(streamUrl); } else { qDebug() << "Playing" << streamUrl << audioUrl; media->playSeparateAudioAndVideo(streamUrl, audioUrl); } // ensure we always have videos ahead playlistModel->searchNeeded(); // ensure active item is visible int row = playlistModel->activeRow(); if (row != -1) { QModelIndex index = playlistModel->index(row, 0, QModelIndex()); playlistView->scrollTo(index, QAbstractItemView::EnsureVisible); } #ifdef APP_ACTIVATION if (!Activation::instance().isActivated() && !demoTimer->isActive()) { int ms = (60000 * 5) + (qrand() % (60000 * 5)); demoTimer->start(ms); } #endif #ifdef APP_EXTRA Extra::notify(video->getTitle(), video->getChannelTitle(), video->getFormattedDuration()); #endif ChannelAggregator::instance()->videoWatched(video); }
void MediaView::resumeWithNewStreamUrl(const QString &streamUrl, const QString &audioUrl) { pauseTime = media->position(); if (audioUrl.isEmpty()) { qDebug() << "Playing" << streamUrl; media->play(streamUrl); } else { qDebug() << "Playing" << streamUrl << audioUrl; media->playSeparateAudioAndVideo(streamUrl, audioUrl); } Video *video = static_cast<Video *>(sender()); if (!video) { qDebug() << "Cannot get sender in" << __PRETTY_FUNCTION__; return; } video->disconnect(this); }
void MediaView::gotStreamUrl(QUrl streamUrl) { if (stopped) return; if (!streamUrl.isValid()) { skip(); return; } Video *video = static_cast<Video *>(sender()); if (!video) { qDebug() << "Cannot get sender in" << __PRETTY_FUNCTION__; return; } video->disconnect(this); currentVideoId = video->id(); #ifdef APP_PHONON_SEEK mediaObject->setCurrentSource(streamUrl); mediaObject->play(); #else startDownloading(); #endif // ensure we always have videos ahead playlistModel->searchNeeded(); // ensure active item is visible int row = playlistModel->activeRow(); if (row != -1) { QModelIndex index = playlistModel->index(row, 0, QModelIndex()); playlistView->scrollTo(index, QAbstractItemView::EnsureVisible); } #ifdef APP_ACTIVATION if (!Activation::instance().isActivated()) demoTimer->start(180000); #endif #ifdef APP_EXTRA Extra::notify(video->title(), video->channelTitle(), video->formattedDuration()); #endif ChannelAggregator::instance()->videoWatched(video); }