8 class YTVideo : public QObject {
12 YTVideo(const QString &videoId, QObject *parent);
14 int getDefinitionCode() const { return definitionCode; }
17 void gotStreamUrl(const QUrl &streamUrl);
18 void errorStreamUrl(const QString &message);
21 void gotVideoInfo(const QByteArray &bytes);
22 void errorVideoInfo(const QString &message);
23 void scrapeWebPage(const QByteArray &bytes);
24 void parseJsPlayer(const QByteArray &bytes);
25 void parseDashManifest(const QByteArray &bytes);
29 void parseFmtUrlMap(const QString &fmtUrlMap, bool fromWebPage = false);
30 void captureFunction(const QString &name, const QString &js);
31 void captureObject(const QString &name, const QString &js);
32 QString decryptSignature(const QString &s);
33 void saveDefinitionForUrl(const QString &url, const VideoDefinition &definition);
38 bool loadingStreamUrl;
39 // current index for the elTypes list
40 // needed to iterate on elTypes
46 QHash<QString, QString> sigFunctions;
47 QHash<QString, QString> sigObjects;
48 QString dashManifestUrl;