// qDebug() << "fmtUrlMap" << fmtUrlMap;
const QStringList formatUrls = fmtUrlMap.split(',', QString::SkipEmptyParts);
QHash<int, QString> urlMap;
- foreach(QString formatUrl, formatUrls) {
+ foreach(const QString &formatUrl, formatUrls) {
// qDebug() << "formatUrl" << formatUrl;
const QStringList urlParams = formatUrl.split('&', QString::SkipEmptyParts);
// qDebug() << "urlParams" << urlParams;
int format = -1;
QString url;
QString sig;
- foreach(QString urlParam, urlParams) {
+ foreach(const QString &urlParam, urlParams) {
// qWarning() << urlParam;
if (urlParam.startsWith("itag=")) {
int separator = urlParam.indexOf("=");
QString Video::decryptSignature(const QString &s) {
if (sigFuncName.isEmpty()) return QString();
QScriptEngine engine;
- foreach (QString f, sigObjects.values()) {
+ foreach (const QString &f, sigObjects.values()) {
QScriptValue value = engine.evaluate(f);
if (value.isError())
qWarning() << "Error in" << f << value.toString();
}
- foreach (QString f, sigFunctions.values()) {
+ foreach (const QString &f, sigFunctions.values()) {
QScriptValue value = engine.evaluate(f);
if (value.isError())
qWarning() << "Error in" << f << value.toString();
}
QString Video::formattedDuration() const {
- QString format = m_duration > 3600 ? "h:mm:ss" : "m:ss";
- return QTime().addSecs(m_duration).toString(format);
+ int duration = m_duration;
+ QString res;
+ int seconds = duration % 60;
+ duration /= 60;
+ int minutes = duration % 60;
+ duration /= 60;
+ int hours = duration % 24;
+ if (hours == 0)
+ return res.asprintf("%d:%02d", minutes, seconds);
+ return res.asprintf("%d:%02d:%02d", hours, minutes, seconds);
}
void Video::saveDefinitionForUrl(const QString& url, const VideoDefinition& definition) {