2
0
mirror of https://github.com/TeamNewPipe/NewPipeExtractor synced 2025-08-30 22:05:18 +00:00

Readd signature decryption in YtStreamExtractor

This commit is contained in:
Stypox
2019-09-11 19:56:16 +02:00
parent d9570d8634
commit e5e8c66686

View File

@@ -929,10 +929,22 @@ public class YoutubeStreamExtractor extends StreamExtractor {
int itag = formatData.getInt("itag");
if (ItagItem.isSupported(itag)) {
ItagItem itagItem = ItagItem.getItag(itag);
if (itagItem.itagType == itagTypeWanted) {
String streamUrl = formatData.getString("url");
urlAndItags.put(streamUrl, itagItem);
try {
ItagItem itagItem = ItagItem.getItag(itag);
if (itagItem.itagType == itagTypeWanted) {
String streamUrl;
if (formatData.has("url")) {
streamUrl = formatData.getString("url");
} else {
// this url has an encrypted signature
Map<String, String> cipher = Parser.compatParseMap(formatData.getString("cipher"));
streamUrl = cipher.get("url") + "&" + cipher.get("sp") + "=" + decryptSignature(cipher.get("s"), decryptionCode);
}
urlAndItags.put(streamUrl, itagItem);
}
} catch (UnsupportedEncodingException ignored) {
}
}
}