diff options
| author | Remita Amine <remitamine@gmail.com> | 2018-05-26 14:34:13 +0100 | 
|---|---|---|
| committer | Remita Amine <remitamine@gmail.com> | 2018-05-26 14:38:24 +0100 | 
| commit | c0fd20abcad16bb2e377b6342a894a374c219763 (patch) | |
| tree | 1190afa6252ed629a571c675dc68fc9e0e3c55dd /youtube_dl/extractor/soundcloud.py | |
| parent | 986c0b0215b127713825fa1523966ac66e03157b (diff) | |
[soundcloud] detect format extension(closes #16549)
Diffstat (limited to 'youtube_dl/extractor/soundcloud.py')
| -rw-r--r-- | youtube_dl/extractor/soundcloud.py | 17 | 
1 files changed, 10 insertions, 7 deletions
diff --git a/youtube_dl/extractor/soundcloud.py b/youtube_dl/extractor/soundcloud.py index 46332e5c2..81c81c8d5 100644 --- a/youtube_dl/extractor/soundcloud.py +++ b/youtube_dl/extractor/soundcloud.py @@ -181,7 +181,6 @@ class SoundcloudIE(InfoExtractor):          thumbnail = info.get('artwork_url') or info.get('user', {}).get('avatar_url')          if isinstance(thumbnail, compat_str):              thumbnail = thumbnail.replace('-large', '-t500x500') -        ext = 'mp3'          result = {              'id': track_id,              'uploader': info.get('user', {}).get('username'), @@ -215,8 +214,11 @@ class SoundcloudIE(InfoExtractor):              track_id, 'Downloading track url', query=query)          for key, stream_url in format_dict.items(): -            abr = int_or_none(self._search_regex( -                r'_(\d+)_url', key, 'audio bitrate', default=None)) +            ext, abr = 'mp3', None +            mobj = re.search(r'_([^_]+)_(\d+)_url', key) +            if mobj: +                ext, abr = mobj.groups() +                abr = int(abr)              if key.startswith('http'):                  stream_formats = [{                      'format_id': key, @@ -234,13 +236,14 @@ class SoundcloudIE(InfoExtractor):                  }]              elif key.startswith('hls'):                  stream_formats = self._extract_m3u8_formats( -                    stream_url, track_id, 'mp3', entry_protocol='m3u8_native', +                    stream_url, track_id, ext, entry_protocol='m3u8_native',                      m3u8_id=key, fatal=False)              else:                  continue -            for f in stream_formats: -                f['abr'] = abr +            if abr: +                for f in stream_formats: +                    f['abr'] = abr              formats.extend(stream_formats) @@ -250,7 +253,7 @@ class SoundcloudIE(InfoExtractor):              formats.append({                  'format_id': 'fallback',                  'url': update_url_query(info['stream_url'], query), -                'ext': ext, +                'ext': 'mp3',              })          for f in formats:  | 
