TeamNewPipe/NewPipe · error · ResolverException
Unsupported delivery method for YouTube contents: {}
Error message
Unsupported delivery method for YouTube contents: {} What it means
Thrown by PlaybackResolver.createYoutubeMediaSourceOfVideoStreamType when a YouTube video stream's DeliveryMethod is not PROGRESSIVE_HTTP, DASH, or HLS. The default branch of the switch raises the ResolverException, naming the unsupported method. YouTube content is only resolved via these three delivery methods.
Source
Thrown at app/src/main/java/org/schabi/newpipe/player/resolver/PlaybackResolver.java:505
streamInfo.getDuration());
return buildYoutubeManualDashMediaSource(dataSource,
createDashManifest(manifestString, stream), stream, cacheKey,
metadata);
} catch (final CreationException | IOException | NullPointerException e) {
Log.e(TAG,
"Error when generating the DASH manifest of YouTube OTF stream", e);
throw new ResolverException(
"Error when generating the DASH manifest of YouTube OTF stream", e);
}
case HLS:
return dataSource.getYoutubeHlsMediaSourceFactory().createMediaSource(
new MediaItem.Builder()
.setTag(metadata)
.setUri(Uri.parse(stream.getContent()))
.setCustomCacheKey(cacheKey)
.build());
default:
throw new ResolverException("Unsupported delivery method for YouTube contents: "
+ deliveryMethod);
}
}
private static DashMediaSource buildYoutubeManualDashMediaSource(
final PlayerDataSource dataSource,
final DashManifest dashManifest,
final Stream stream,
final String cacheKey,
final MediaItemTag metadata) {
return dataSource.getYoutubeDashMediaSourceFactory().createMediaSource(dashManifest,
new MediaItem.Builder()
.setTag(metadata)
.setUri(Uri.parse(stream.getContent()))
.setCustomCacheKey(cacheKey)
.build());
}
View on GitHub (pinned to 9e8be09156)
Solutions
- Update the extractor to the latest version so YouTube delivery methods are classified correctly.
- Filter unsupported delivery methods before attempting YouTube playback and notify the user.
- Add a handler branch if the delivery method is genuinely new and should be supported.
Defensive patterns
Strategy: validation
Validate before calling
final DeliveryMethod dm = stream.getDeliveryMethod();
if (dm != DeliveryMethod.PROGRESSIVE_HTTP && dm != DeliveryMethod.DASH && dm != DeliveryMethod.HLS) {
// unsupported YouTube delivery method; skip
} Try / catch
try {
return createYoutubeMediaSourceOfVideoStreamType(dataSource, stream, streamInfo, cacheKey, metadata);
} catch (final ResolverException e) {
// unsupported delivery method for YouTube; try another stream
} Prevention
- Filter YouTube streams to PROGRESSIVE_HTTP/DASH/HLS before playback.
- Update the extractor so delivery methods are classified correctly.
- Surface unsupported methods to the user instead of failing during playback.
When it happens
Trigger: createYoutubeMediaSourceOfVideoStreamType is called for a YouTube VIDEO_STREAM whose getDeliveryMethod() returns a value other than PROGRESSIVE_HTTP, DASH, or HLS (e.g. SS or TORRENT). The default branch fires.
Common situations: The extractor reports a YouTube stream with an unexpected delivery method, or a new delivery method is introduced that NewPipe does not yet handle for YouTube. Generally indicates an extractor change or an inconsistent stream object.
Related errors
- Unsupported delivery type: {}
- Generation of YouTube DASH manifest for {} is not supported
- Error when generating the DASH manifest of YouTube ended liv
- DASH manifest generation of YouTube livestreams is not suppo
- Error when generating the DASH manifest of YouTube OTF strea
AI-assisted analysis of TeamNewPipe/NewPipe@9e8be09156 (2026-08-14).
Data as JSON: /api/errors/980b854e4575dac0.
Report an issue: GitHub.