bool QMediaPlayerPrivate::isInChain(QUrl url) { // Check whether a URL is already in the chain of playlists. // Also see a comment in parentPlaylist(). for (QMediaPlaylist *current = rootMedia.playlist(); current && current != playlist; current = current->currentMedia().playlist()) if (current->currentMedia().canonicalUrl() == url) { return true; } return false; }
QMediaPlaylist *QMediaPlayerPrivate::parentPlaylist(QMediaPlaylist *pls) { // This function finds a parent playlist for an item in the active chain of playlists. // Every item in the chain comes from currentMedia() of its parent. // We don't need to travers the whole tree of playlists, // but only the subtree of active ones. for (QMediaPlaylist *current = rootMedia.playlist(); current && current != pls; current = current->currentMedia().playlist()) if (current->currentMedia().playlist() == pls) return current; return 0; }