{"record":{"id":"e7d30b9bfdc21d1f","repo":"ytdl-org/youtube-dl","slug":"unknown-status","errorCode":null,"errorMessage":"Unknown status ","messagePattern":"Unknown status ","errorType":"exception","errorClass":"ExtractorError","httpStatus":null,"severity":"error","filePath":"youtube_dl/extractor/vlive.py","lineNumber":177,"sourceCode":"                info = get_common_fields()\n                info.update({\n                    'title': self._live_title(video['title']),\n                    'id': video_id,\n                    'formats': formats,\n                    'is_live': True,\n                })\n                return info\n            elif status == 'ENDED':\n                raise ExtractorError(\n                    'Uploading for replay. Please wait...', expected=True)\n            elif status == 'RESERVED':\n                raise ExtractorError('Coming soon!', expected=True)\n            elif video.get('exposeStatus') == 'CANCEL':\n                raise ExtractorError(\n                    'We are sorry, but the live broadcast has been canceled.',\n                    expected=True)\n            else:\n                raise ExtractorError('Unknown status ' + status)\n\n\nclass VLivePostIE(VLiveIE):\n    IE_NAME = 'vlive:post'\n    _VALID_URL = r'https?://(?:(?:www|m)\\.)?vlive\\.tv/post/(?P<id>\\d-\\d+)'\n    _TESTS = [{\n        # uploadType = SOS\n        'url': 'https://www.vlive.tv/post/1-20088044',\n        'info_dict': {\n            'id': '1-20088044',\n            'title': 'Hola estrellitas la tierra les dice hola (si era así no?) Ha...',\n            'description': 'md5:fab8a1e50e6e51608907f46c7fa4b407',\n        },\n        'playlist_count': 3,\n    }, {\n        # uploadType = V\n        'url': 'https://www.vlive.tv/post/1-20087926',\n        'info_dict': {","sourceCodeStart":159,"sourceCodeEnd":195,"githubUrl":"https://github.com/ytdl-org/youtube-dl/blob/956b8c585591b401a543e409accb163eeaaa1193/youtube_dl/extractor/vlive.py#L159-L195","documentation":"VLive defensive fallback: the video's status field matches none of the handled states (LIVE, ENDED, RESERVED, CANCELED), so the extractor raises 'Unknown status ' + status with expected=True implicitly absent — an unexpected-state marker exposing an unhandled API value.","triggerScenarios":"VLive's API returns a new or rare status value (e.g. a post-migration Weverse state) that the if/elif chain does not cover.","commonSituations":"Site/API evolution after the Weverse migration introducing new statuses; intermittent intermediate states during replay processing.","solutions":["Inspect the exact appended status string in the message to learn the new state","Update yt-dlp (actively maintained) which has newer VLive/Weverse handling","Retry later in case the state is transient (e.g. processing transition)"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"from youtube_dl.utils import ExtractorError\ntry:\n    ydl.extract_info(url)\nexcept ExtractorError as e:\n    if str(e).startswith('Unknown status'):\n        log('New VLive status seen: %s — update extractor' % str(e))\n        report_upstream(url)","preventionTips":["Log the exact appended status string for diagnosis","Keep yt-dlp updated for new VLive/Weverse statuses","Retry once after a delay — some statuses are transient transitions"],"tags":["vlive","unknown-status","api-change","extractor"],"backgroundTag":null,"analyzedSha":"956b8c585591b401a543e409accb163eeaaa1193","analyzedAt":"2026-08-14T18:59:47.863Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}