8 class YTVideo : public QObject {
12 YTVideo(const QString &videoId, QObject *parent);
14 int getDefinitionCode() const { return definitionCode; }
17 void gotStreamUrl(const QString &videoUrl, const QString &audioUrl);
18 void errorStreamUrl(const QString &message);
21 void gotVideoInfo(const QByteArray &bytes);
22 void emitError(const QString &message);
23 void scrapeWebPage(const QByteArray &bytes);
24 void parseJsPlayer(const QByteArray &bytes);
28 void parseFmtUrlMap(const QString &fmtUrlMap);
31 void captureFunction(const QString &name, const QString &js);
32 void captureObject(const QString &name, const QString &js);
33 QString decryptSignature(const QString &s);
34 void saveDefinitionForUrl(const QString &url, const VideoDefinition &definition);
39 bool loadingStreamUrl;
45 QHash<QString, QString> sigFunctions;
46 QHash<QString, QString> sigObjects;
47 QString dashManifestUrl;
49 QMap<int, QString> urlMap;
50 bool webPageLoaded = false;