diff options
author | Sergey M․ <dstftw@gmail.com> | 2015-07-16 01:14:08 +0600 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2015-07-16 01:14:08 +0600 |
commit | 97f4aecfc1c5fd446e1d3edd37e49aafe246fe0b (patch) | |
tree | d42d254932c686c4854d9ec3a23cd0bf85799c6e | |
parent | 2af0f87c8b56567e0254aae7a1ccbedb04413b1c (diff) |
[extractor/common] Handle malformed f4m manifests
-rw-r--r-- | youtube_dl/extractor/common.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index 3a396c0b0..f8a5ecced 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -28,6 +28,7 @@ from ..utils import ( clean_html, compiled_regex_type, ExtractorError, + fix_xml_ampersands, float_or_none, int_or_none, RegexNotFoundError, @@ -837,7 +838,10 @@ class InfoExtractor(object): def _extract_f4m_formats(self, manifest_url, video_id, preference=None, f4m_id=None): manifest = self._download_xml( manifest_url, video_id, 'Downloading f4m manifest', - 'Unable to download f4m manifest') + 'Unable to download f4m manifest', + # Some manifests may be malformed, e.g. prosiebensat1 generated manifests + # (see https://github.com/rg3/youtube-dl/issues/6215#issuecomment-121704244) + transform_source=lambda s: fix_xml_ampersands(s).strip()) formats = [] manifest_version = '1.0' |