aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbashonly <88596187+bashonly@users.noreply.github.com>2024-12-15 20:16:04 +0000
committerGitHub <noreply@github.com>2024-12-15 20:16:04 +0000
commitd298693b1b266d198e8eeecb90ea17c4a031268f (patch)
tree10db07d9e4d340f935083e7c9eced4ec0fdd52ec
parent09a6c687126f04e243fcb105a828787efddd1030 (diff)
[ie/soundcloud] Various fixes (#11820)
- Fix original/download formats so that they are considered bestaudio - Raise appropriate error if track is DRM-protected Authored by: bashonly
-rw-r--r--yt_dlp/extractor/soundcloud.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/yt_dlp/extractor/soundcloud.py b/yt_dlp/extractor/soundcloud.py
index 66bc5f9c5..85779e91a 100644
--- a/yt_dlp/extractor/soundcloud.py
+++ b/yt_dlp/extractor/soundcloud.py
@@ -210,6 +210,7 @@ class SoundcloudBaseIE(InfoExtractor):
format_urls = set()
formats = []
+ has_drm = False
query = {'client_id': self._CLIENT_ID}
if secret_token:
query['secret_token'] = secret_token
@@ -245,6 +246,7 @@ class SoundcloudBaseIE(InfoExtractor):
'url': format_url,
'quality': 10,
'format_note': 'Original',
+ 'vcodec': 'none',
})
def invalid_url(url):
@@ -260,6 +262,7 @@ class SoundcloudBaseIE(InfoExtractor):
protocol = traverse_obj(t, ('format', 'protocol', {str})) or 'http'
if protocol.startswith(('ctr-', 'cbc-')):
+ has_drm = True
continue
if protocol == 'progressive':
protocol = 'http'
@@ -317,8 +320,11 @@ class SoundcloudBaseIE(InfoExtractor):
'preference': -10 if is_preview else None,
})
- if not formats and info.get('policy') == 'BLOCK':
- self.raise_geo_restricted(metadata_available=True)
+ if not formats:
+ if has_drm:
+ self.report_drm(track_id)
+ if info.get('policy') == 'BLOCK':
+ self.raise_geo_restricted(metadata_available=True)
user = info.get('user') or {}