mirror of https://github.com/yt-dlp/yt-dlp.git
[extractor/common] Do not fail on invalid data while parsing F4M manifest in non fatal mode
This commit is contained in:
parent
5dcd630dca
commit
d9eb580a79
|
@ -13,6 +13,7 @@ import socket
|
||||||
import sys
|
import sys
|
||||||
import time
|
import time
|
||||||
import math
|
import math
|
||||||
|
import xml
|
||||||
|
|
||||||
from ..compat import (
|
from ..compat import (
|
||||||
compat_cookiejar,
|
compat_cookiejar,
|
||||||
|
@ -1464,6 +1465,9 @@ class InfoExtractor(object):
|
||||||
def _parse_f4m_formats(self, manifest, manifest_url, video_id, preference=None, f4m_id=None,
|
def _parse_f4m_formats(self, manifest, manifest_url, video_id, preference=None, f4m_id=None,
|
||||||
transform_source=lambda s: fix_xml_ampersands(s).strip(),
|
transform_source=lambda s: fix_xml_ampersands(s).strip(),
|
||||||
fatal=True, m3u8_id=None):
|
fatal=True, m3u8_id=None):
|
||||||
|
if not isinstance(manifest, xml.etree.ElementTree.Element) and not fatal:
|
||||||
|
return []
|
||||||
|
|
||||||
# currently youtube-dl cannot decode the playerVerificationChallenge as Akamai uses Adobe Alchemy
|
# currently youtube-dl cannot decode the playerVerificationChallenge as Akamai uses Adobe Alchemy
|
||||||
akamai_pv = manifest.find('{http://ns.adobe.com/f4m/1.0}pv-2.0')
|
akamai_pv = manifest.find('{http://ns.adobe.com/f4m/1.0}pv-2.0')
|
||||||
if akamai_pv is not None and ';' in akamai_pv.text:
|
if akamai_pv is not None and ';' in akamai_pv.text:
|
||||||
|
|
Loading…
Reference in New Issue