[soundcloud] detect format extension(closes #16549)
This commit is contained in:
		@@ -181,7 +181,6 @@ class SoundcloudIE(InfoExtractor):
 | 
				
			|||||||
        thumbnail = info.get('artwork_url') or info.get('user', {}).get('avatar_url')
 | 
					        thumbnail = info.get('artwork_url') or info.get('user', {}).get('avatar_url')
 | 
				
			||||||
        if isinstance(thumbnail, compat_str):
 | 
					        if isinstance(thumbnail, compat_str):
 | 
				
			||||||
            thumbnail = thumbnail.replace('-large', '-t500x500')
 | 
					            thumbnail = thumbnail.replace('-large', '-t500x500')
 | 
				
			||||||
        ext = 'mp3'
 | 
					 | 
				
			||||||
        result = {
 | 
					        result = {
 | 
				
			||||||
            'id': track_id,
 | 
					            'id': track_id,
 | 
				
			||||||
            'uploader': info.get('user', {}).get('username'),
 | 
					            'uploader': info.get('user', {}).get('username'),
 | 
				
			||||||
@@ -215,8 +214,11 @@ class SoundcloudIE(InfoExtractor):
 | 
				
			|||||||
            track_id, 'Downloading track url', query=query)
 | 
					            track_id, 'Downloading track url', query=query)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for key, stream_url in format_dict.items():
 | 
					        for key, stream_url in format_dict.items():
 | 
				
			||||||
            abr = int_or_none(self._search_regex(
 | 
					            ext, abr = 'mp3', None
 | 
				
			||||||
                r'_(\d+)_url', key, 'audio bitrate', default=None))
 | 
					            mobj = re.search(r'_([^_]+)_(\d+)_url', key)
 | 
				
			||||||
 | 
					            if mobj:
 | 
				
			||||||
 | 
					                ext, abr = mobj.groups()
 | 
				
			||||||
 | 
					                abr = int(abr)
 | 
				
			||||||
            if key.startswith('http'):
 | 
					            if key.startswith('http'):
 | 
				
			||||||
                stream_formats = [{
 | 
					                stream_formats = [{
 | 
				
			||||||
                    'format_id': key,
 | 
					                    'format_id': key,
 | 
				
			||||||
@@ -234,13 +236,14 @@ class SoundcloudIE(InfoExtractor):
 | 
				
			|||||||
                }]
 | 
					                }]
 | 
				
			||||||
            elif key.startswith('hls'):
 | 
					            elif key.startswith('hls'):
 | 
				
			||||||
                stream_formats = self._extract_m3u8_formats(
 | 
					                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)
 | 
					                    m3u8_id=key, fatal=False)
 | 
				
			||||||
            else:
 | 
					            else:
 | 
				
			||||||
                continue
 | 
					                continue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            for f in stream_formats:
 | 
					            if abr:
 | 
				
			||||||
                f['abr'] = abr
 | 
					                for f in stream_formats:
 | 
				
			||||||
 | 
					                    f['abr'] = abr
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            formats.extend(stream_formats)
 | 
					            formats.extend(stream_formats)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -250,7 +253,7 @@ class SoundcloudIE(InfoExtractor):
 | 
				
			|||||||
            formats.append({
 | 
					            formats.append({
 | 
				
			||||||
                'format_id': 'fallback',
 | 
					                'format_id': 'fallback',
 | 
				
			||||||
                'url': update_url_query(info['stream_url'], query),
 | 
					                'url': update_url_query(info['stream_url'], query),
 | 
				
			||||||
                'ext': ext,
 | 
					                'ext': 'mp3',
 | 
				
			||||||
            })
 | 
					            })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for f in formats:
 | 
					        for f in formats:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user