| 1234567891011121314151617181920212223242526272829303132 | 
							- from __future__ import unicode_literals
 
- from .common import FileDownloader
 
- from .hls import HlsFD
 
- from .hls import NativeHlsFD
 
- from .http import HttpFD
 
- from .mplayer import MplayerFD
 
- from .rtmp import RtmpFD
 
- from .f4m import F4mFD
 
- from ..utils import (
 
-     determine_ext,
 
- )
 
- def get_suitable_downloader(info_dict):
 
-     """Get the downloader class that can handle the info dict."""
 
-     url = info_dict['url']
 
-     protocol = info_dict.get('protocol')
 
-     if url.startswith('rtmp'):
 
-         return RtmpFD
 
-     if protocol == 'm3u8_native':
 
-         return NativeHlsFD
 
-     if (protocol == 'm3u8') or (protocol is None and determine_ext(url) == 'm3u8'):
 
-         return HlsFD
 
-     if url.startswith('mms') or url.startswith('rtsp'):
 
-         return MplayerFD
 
-     if determine_ext(url) == 'f4m':
 
-         return F4mFD
 
-     else:
 
-         return HttpFD
 
 
  |