projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[youtube] Fix extraction.
[youtube-dl]
/
youtube_dl
/
extractor
/
soundcloud.py
diff --git
a/youtube_dl/extractor/soundcloud.py
b/youtube_dl/extractor/soundcloud.py
index 02d56184dd91cfacbfe2fa506bce2d2c9d576805..a2fddf6d90f0e6775c9ed97565fb76e37d7308c2 100644
(file)
--- a/
youtube_dl/extractor/soundcloud.py
+++ b/
youtube_dl/extractor/soundcloud.py
@@
-246,7
+246,12
@@
class SoundcloudIE(InfoExtractor):
'comment_count': int,
'repost_count': int,
},
'comment_count': int,
'repost_count': int,
},
- }
+ },
+ {
+ # with AAC HQ format available via OAuth token
+ 'url': 'https://soundcloud.com/wandw/the-chainsmokers-ft-daya-dont-let-me-down-ww-remix-1',
+ 'only_matching': True,
+ },
]
_API_V2_BASE = 'https://api-v2.soundcloud.com/'
]
_API_V2_BASE = 'https://api-v2.soundcloud.com/'
@@
-350,7
+355,8
@@
class SoundcloudIE(InfoExtractor):
format_id_list = []
if protocol:
format_id_list.append(protocol)
format_id_list = []
if protocol:
format_id_list.append(protocol)
- if f.get('ext') == 'aac':
+ ext = f.get('ext')
+ if ext == 'aac':
f['abr'] = '256'
for k in ('ext', 'abr'):
v = f.get(k)
f['abr'] = '256'
for k in ('ext', 'abr'):
v = f.get(k)
@@
-362,9
+368,13
@@
class SoundcloudIE(InfoExtractor):
abr = f.get('abr')
if abr:
f['abr'] = int(abr)
abr = f.get('abr')
if abr:
f['abr'] = int(abr)
+ if protocol == 'hls':
+ protocol = 'm3u8' if ext == 'aac' else 'm3u8_native'
+ else:
+ protocol = 'http'
f.update({
'format_id': '_'.join(format_id_list),
f.update({
'format_id': '_'.join(format_id_list),
- 'protocol':
'm3u8_native' if protocol == 'hls' else 'http'
,
+ 'protocol':
protocol
,
'preference': -10 if preview else None,
})
formats.append(f)
'preference': -10 if preview else None,
})
formats.append(f)
@@
-548,8
+558,10
@@
class SoundcloudSetIE(SoundcloudPlaylistBaseIE):
class SoundcloudPagedPlaylistBaseIE(SoundcloudIE):
def _extract_playlist(self, base_url, playlist_id, playlist_title):
class SoundcloudPagedPlaylistBaseIE(SoundcloudIE):
def _extract_playlist(self, base_url, playlist_id, playlist_title):
+ # Per the SoundCloud documentation, the maximum limit for a linked partioning query is 200.
+ # https://developers.soundcloud.com/blog/offset-pagination-deprecated
COMMON_QUERY = {
COMMON_QUERY = {
- 'limit': 200
0000000
,
+ 'limit': 200,
'linked_partitioning': '1',
}
'linked_partitioning': '1',
}