Browse Source

[downloader/f4m] Fix malformed manifests (Closes #7823)

totalwebcasting
Sergey M․ 9 years ago
parent
commit
17b786ae73
1 changed files with 5 additions and 1 deletions
  1. +5
    -1
      youtube_dl/downloader/f4m.py

+ 5
- 1
youtube_dl/downloader/f4m.py View File

@ -15,6 +15,7 @@ from ..compat import (
) )
from ..utils import ( from ..utils import (
encodeFilename, encodeFilename,
fix_xml_ampersands,
sanitize_open, sanitize_open,
struct_pack, struct_pack,
struct_unpack, struct_unpack,
@ -288,7 +289,10 @@ class F4mFD(FragmentFD):
self.to_screen('[%s] Downloading f4m manifest' % self.FD_NAME) self.to_screen('[%s] Downloading f4m manifest' % self.FD_NAME)
urlh = self.ydl.urlopen(man_url) urlh = self.ydl.urlopen(man_url)
man_url = urlh.geturl() man_url = urlh.geturl()
manifest = urlh.read()
# Some manifests may be malformed, e.g. prosiebensat1 generated manifests
# (see https://github.com/rg3/youtube-dl/issues/6215#issuecomment-121704244
# and https://github.com/rg3/youtube-dl/issues/7823)
manifest = fix_xml_ampersands(urlh.read()).strip()
doc = compat_etree_fromstring(manifest) doc = compat_etree_fromstring(manifest)
formats = [(int(f.attrib.get('bitrate', -1)), f) formats = [(int(f.attrib.get('bitrate', -1)), f)


Loading…
Cancel
Save