diff --git a/yt_dlp/extractor/chaturbate.py b/yt_dlp/extractor/chaturbate.py index a40b7d39c..d031d3985 100644 --- a/yt_dlp/extractor/chaturbate.py +++ b/yt_dlp/extractor/chaturbate.py @@ -59,17 +59,16 @@ class ChaturbateIE(InfoExtractor): 'Accept': 'application/json', }, fatal=False, impersonate=True) or {} - status = response.get('room_status') - if status != 'public': + m3u8_url = response.get('url') + if not m3u8_url: + status = response.get('room_status') if error := self._ERROR_MAP.get(status): raise ExtractorError(error, expected=True) - self.report_warning('Falling back to webpage extraction') + if status == 'public': + self.raise_geo_restricted() + self.report_warning(f'Got status "{status}" from API; falling back to webpage extraction') return None - m3u8_url = response.get('url') - if not m3u8_url: - self.raise_geo_restricted() - return { 'id': video_id, 'title': video_id,