{"record":{"id":"3c135022df9ef8b6","repo":"TeamNewPipe/NewPipe","slug":"unsupported-type","errorCode":null,"errorMessage":"Unsupported type: {}","messagePattern":"Unsupported type: (.+?)","errorType":"exception","errorClass":"ResolverException","httpStatus":null,"severity":"error","filePath":"app/src/main/java/org/schabi/newpipe/player/resolver/PlaybackResolver.java","lineNumber":243,"sourceCode":"        final MediaSource.Factory factory;\n        switch (type) {\n            case C.CONTENT_TYPE_SS:\n                factory = dataSource.getLiveSsMediaSourceFactory();\n                break;\n            case C.CONTENT_TYPE_DASH:\n                if (metadata.getServiceId() == ServiceList.YouTube.getServiceId()) {\n                    factory = dataSource.getLiveYoutubeDashMediaSourceFactory();\n                } else {\n                    factory = dataSource.getLiveDashMediaSourceFactory();\n                }\n                break;\n            case C.CONTENT_TYPE_HLS:\n                factory = dataSource.getLiveHlsMediaSourceFactory();\n                break;\n            case C.CONTENT_TYPE_OTHER:\n            case C.CONTENT_TYPE_RTSP:\n            default:\n                throw new ResolverException(\"Unsupported type: \" + type);\n        }\n\n        return factory.createMediaSource(\n                new MediaItem.Builder()\n                        .setTag(metadata)\n                        .setUri(Uri.parse(sourceUrl))\n                        .setLiveConfiguration(\n                                new MediaItem.LiveConfiguration.Builder()\n                                        .setTargetOffsetMs(LIVE_STREAM_EDGE_GAP_MILLIS)\n                                        .build())\n                        .build());\n    }\n    //endregion\n\n\n    //region Generic media sources\n    static MediaSource buildMediaSource(final PlayerDataSource dataSource,\n                                        final Stream stream,","sourceCodeStart":225,"sourceCodeEnd":261,"githubUrl":"https://github.com/TeamNewPipe/NewPipe/blob/9e8be091560a69f35d44bd252eb00bc7911c977b/app/src/main/java/org/schabi/newpipe/player/resolver/PlaybackResolver.java#L225-L261","documentation":"Thrown by PlaybackResolver.buildLiveMediaSource when the live-stream content type passed in is not one of SS, DASH, or HLS (i.e. it is CONTENT_TYPE_OTHER or CONTENT_TYPE_RTSP, or any other/unrecognized value). The resolver can only build a live MediaSource for SmoothStreaming, DASH, and HLS; other live types are unsupported. Wrapped as a ResolverException (a checked Exception).","triggerScenarios":"buildLiveMediaSource is called with a type value of C.CONTENT_TYPE_OTHER, C.CONTENT_TYPE_RTSP, or any value not handled by the switch, when resolving a live stream's media source. The default branch of the switch fires.","commonSituations":"The extractor reports a live stream with a content type NewPipe does not support for live playback (e.g. RTSP), or the caller passed the wrong content-type constant. Can also occur if the StreamInfo has neither a DASH MPD URL nor an HLS URL and the upstream logic falls through to an unsupported type. Generally indicates a service/stream combination NewPipe cannot play live.","solutions":["Verify the content type being passed; ensure the stream is actually DASH, HLS, or SS before calling buildLiveMediaSource.","Filter out unsupported live content types earlier and surface a user-friendly 'unsupported stream' message instead of attempting playback.","If RTSP or another type must be supported, add the corresponding MediaSource.Factory branch and handling.","Update the extractor: a newer version may correctly classify the stream's content type."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"if (type != C.CONTENT_TYPE_SS && type != C.CONTENT_TYPE_DASH && type != C.CONTENT_TYPE_HLS) {\n    // do not call buildLiveMediaSource; notify user instead\n}","typeGuard":null,"tryCatchPattern":"try {\n    return buildLiveMediaSource(dataSource, url, type, metadata);\n} catch (final ResolverException e) {\n    // surface 'live stream type not supported' to the user\n    throw e;\n}","preventionTips":["Check the content type is SS/DASH/HLS before calling buildLiveMediaSource.","Filter unsupported live content types in the UI so they are never selected for playback.","Keep the extractor up to date so content types are classified correctly."],"tags":["playback","resolver","media-source","live-stream","exoplayer"],"backgroundTag":null,"analyzedSha":"9e8be091560a69f35d44bd252eb00bc7911c977b","analyzedAt":"2026-08-14T00:11:33.519Z","schemaVersion":2},"datasetVersion":"2026-08-14T00:17:13.853Z"}