{"record":{"id":"10162234ae2ec4c2","repo":"ytdl-org/youtube-dl","slug":"s-said-s-101622","errorCode":null,"errorMessage":"%s said: %s","messagePattern":"%s said: %s","errorType":"exception","errorClass":"ExtractorError","httpStatus":null,"severity":"error","filePath":"youtube_dl/extractor/ooyala.py","lineNumber":88,"sourceCode":"                self._extract_ism_formats(\n                    s_url, embed_code, ism_id='mss', fatal=False)\n            elif ext == 'smil':\n                formats.extend(self._extract_smil_formats(\n                    s_url, embed_code, fatal=False))\n            else:\n                formats.append({\n                    'url': s_url,\n                    'ext': ext or delivery_type,\n                    'vcodec': stream.get('video_codec'),\n                    'format_id': delivery_type,\n                    'width': int_or_none(stream.get('width')),\n                    'height': int_or_none(stream.get('height')),\n                    'abr': int_or_none(stream.get('audio_bitrate')),\n                    'vbr': int_or_none(stream.get('video_bitrate')),\n                    'fps': float_or_none(stream.get('framerate')),\n                })\n        if not formats and not auth_data.get('authorized'):\n            raise ExtractorError('%s said: %s' % (\n                self.IE_NAME, auth_data['message']), expected=True)\n        self._sort_formats(formats)\n\n        subtitles = {}\n        for lang, sub in metadata.get('closed_captions_vtt', {}).get('captions', {}).items():\n            sub_url = sub.get('url')\n            if not sub_url:\n                continue\n            subtitles[lang] = [{\n                'url': sub_url,\n            }]\n\n        return {\n            'id': embed_code,\n            'title': title,\n            'description': metadata.get('description'),\n            'thumbnail': metadata.get('thumbnail_image') or metadata.get('promo_image'),\n            'duration': float_or_none(metadata.get('duration'), 1000),","sourceCodeStart":70,"sourceCodeEnd":106,"githubUrl":"https://github.com/ytdl-org/youtube-dl/blob/956b8c585591b401a543e409accb163eeaaa1193/youtube_dl/extractor/ooyala.py#L70-L106","documentation":"Error \"%s said: %s\" thrown in ytdl-org/youtube-dl.","triggerScenarios":"Thrown at youtube_dl/extractor/ooyala.py:88 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Read the Ooyala error message; check content availability and credentials."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"956b8c585591b401a543e409accb163eeaaa1193","analyzedAt":"2026-08-14T18:59:47.863Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}