diff --git a/lib/yt_dlp/extractor/chaturbate.py b/lib/yt_dlp/extractor/chaturbate.py index a40b7d39c..d031d3985 100644 --- a/lib/yt_dlp/extractor/chaturbate.py +++ b/lib/yt_dlp/extractor/chaturbate.py @@ -59,17 +59,16 @@ def _extract_from_api(self, video_id, tld): '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, diff --git a/lib/yt_dlp_version b/lib/yt_dlp_version index afc231f99..c94ae1ff7 100644 --- a/lib/yt_dlp_version +++ b/lib/yt_dlp_version @@ -1 +1 @@ -fe70f20aedf528fdee332131bc9b6710e54e6f10 \ No newline at end of file +4b5eec0aaa7c02627f27a386591b735b90e681a8 \ No newline at end of file