#include "jsfunctions.h"
#include "temporary.h"
#include "compatibility/qurlqueryhelper.h"
+#include "datautils.h"
namespace The {
NetworkAccess* http();
// 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);
+ return DataUtils::formatDuration(m_duration);
}
void Video::saveDefinitionForUrl(const QString& url, const VideoDefinition& definition) {