Configure NuvioTV’s player engine, stream selection, next-episode behavior, P2P streaming, and advanced buffer and decoder options for optimal playback.
Use this file to discover all available pages before exploring further.
NuvioTV’s playback settings control everything from which player engine is used to how streams are selected, how the next episode is triggered, and how the internal buffer manages memory. Settings are split across two surfaces: a simplified view in Essential mode (EssentialPlaybackSettingsContent) and the full expandable sections in Advanced mode (PlaybackSettingsSections).
Essential Playback
Manual/Auto stream selection, auto-play next episode, P2P toggle, preferred subtitle language, forced subtitles, preferred audio language, and decoder priority.
Advanced Playback
Player preference, internal engine selection, regex stream matching, frame-rate matching, buffer tuning, decoder priority, MPV settings, and more.
When autoSwitchInternalPlayerOnError is enabled (PlaybackSettingsSections), the app automatically falls back to the other internal engine if the current one fails to open a stream. This is the PlayerRuntimeControllerEngineFailover behavior and is Advanced mode only.
Stream auto-play controls what happens after stream resolution returns results. The StreamAutoPlayMode enum covers three behaviors:
Manual (Essential + Advanced)
First Stream (Essential + Advanced)
Regex Match (Advanced only)
StreamAutoPlayMode.MANUAL — the stream list is shown and the user selects a stream. This is the default for new installs and the only mode surfaced in Essential.
// EssentialPlaybackSettingsContent toggleval next = if (current == StreamAutoPlayMode.MANUAL) { StreamAutoPlayMode.FIRST_STREAM} else { StreamAutoPlayMode.MANUAL}viewModel.setStreamAutoPlayMode(next)
StreamAutoPlayMode.FIRST_STREAM — the app automatically starts the first stream result without user interaction. Can be scoped to specific add-ons or plug-ins via the allowlist settings (Advanced only).
StreamAutoPlayMode.REGEX_MATCH — the app evaluates a user-supplied regex pattern against stream titles and auto-selects the first match. Configure the pattern in Settings → Playback → Stream Selection → Regex pattern.Example pattern to prefer 1080p HEVC streams:
(?i)1080p.*hevc|hevc.*1080p
Advanced options also include:
Source scope (StreamAutoPlaySource): INSTALLED_ADDONS_ONLY or ENABLED_PLUGINS_ONLY.
Add-on allowlist: restrict auto-play to a set of named add-ons.
Plug-in allowlist: restrict auto-play to specific enabled plug-ins (full flavor only).
Auto-play timeout: configurable per-stream wait before auto-selecting (0 s = instant, or unlimited).
streamAutoPlayNextEpisodeEnabled enables automatic progression to the next episode in a series. When enabled, additional options become available (Advanced):
Binge group awareness (streamAutoPlayPreferBingeGroupForNextEpisode): prefers a stream from the same add-on/group that served the current episode.
Reuse binge group (streamAutoPlayReuseBingeGroup): re-uses the resolved binge group across episode transitions without re-querying.
Next episode threshold: how far into an episode the next-episode prompt appears. Configurable as either a percentage of runtime (NextEpisodeThresholdMode.PERCENT) or minutes before the end (NextEpisodeThresholdMode.MINUTES_BEFORE_END).
Still Watching prompt: after a configurable number of consecutive episodes (stillWatchingEpisodeThreshold, range 2–6), NuvioTV asks if you’re still watching before continuing.
P2P (torrent) streaming is disabled by default and requires explicit user consent before the first torrent stream is played. Even when the P2P settings row is not visited, the P2pConsentDialog is always shown on the first torrent stream attempt. Never enable this feature on behalf of a user without explicit interaction.
The TorrentSettings.p2pEnabled flag controls whether torrent-backed streams are resolved and played. In both Essential and Advanced mode:
The P2P toggle is visible as a SettingsToggleRow.
Toggling it on triggers P2pConsentDialog rather than immediately enabling the feature.
Only after the user confirms consent in the dialog is viewModel.setP2pEnabled(true) called.
Advanced-only P2P options:
Hide torrent stats overlay (hideTorrentStats): suppresses the peer/speed HUD that appears during torrent playback.
Parallel connections (useParallelConnections, parallelConnectionCount, parallelChunkSizeMb): tunes how the torrent engine fetches pieces in parallel.
skipIntroEnabled is on by default and controls whether the skip-intro button appears when a segment is detected via Anime-Skip. This setting is hidden in Essential (it stays enabled). Advanced users can disable it under Settings → Playback → General.
Advanced mode only. NuvioTV can switch the HDMI display mode to match the content frame rate and resolution, which is required for smooth 24 fps film playback on compatible Android TV hardware.FrameRateMatchingMode has three values:
Value
Behavior
OFF
No display mode switching
START
Switch display mode at playback start
START_STOP
Switch at start and restore original mode at stop
resolutionMatchingEnabled can be toggled independently to switch display resolution to match the stream.A warning is shown in the UI when the current device does not support resolution switching via the API even if resolutionMatchingEnabled is true (DisplayCapabilities.supportsResolutionSwitching).
Advanced mode only.streamReuseLastLinkEnabled caches the resolved stream URL for a configurable number of hours (streamReuseLastLinkCacheHours). On subsequent play attempts for the same item, the cached URL is tried first, skipping stream resolution entirely.
Advanced mode only. These settings tune the ExoPlayer buffer behavior and NuvioTV’s internal buffer engine. Memory usage is estimated and displayed in real time when any of these features are enabled.
Setting
Description
nuvioPerformanceModeEnabled
NuvioTV-managed native memory mode; auto-sizes buffer to device capability
bufferEngineEnabled
Enables the custom buffer engine with manual target size
bufferBudgetManaged
Lets the app manage the buffer budget within a safe device limit
bufferSettings.targetBufferSizeMb
Manual target buffer size in MB
bufferSettings.minBufferMs
Minimum buffer before playback starts (ms)
bufferSettings.maxBufferMs
Maximum buffer maintained during playback (ms)
bufferSettings.bufferForPlaybackMs
Buffer required to start playback after initial load (ms)
bufferSettings.bufferForPlaybackAfterRebufferMs
Buffer required to resume after a rebuffer event (ms)
bufferSettings.backBufferDurationMs
Duration of back-buffer retained for backward seeking (ms)
allowLargeTargetBuffer
Allows target size above the default safe limit
parallelNetworkEnabled
Enables parallel HTTP fetch connections
enableHttp2
Enables HTTP/2 for compatible CDNs
vodCacheEnabled
Enables an on-disk VOD cache for repeated seeks
vodCacheSizeMode / vodCacheSizeMb
Cache size mode and manual size cap
A Reset buffer settings to defaults action and a Reset network settings to defaults action are available at the bottom of the buffer/network section.
In Essential mode, EssentialPlaybackSettingsContent renders two groups. Player preference is not surfaced here — it is an Advanced-mode setting.Playback Basics
Stream selection (Manual ↔ Auto-play first result toggle)
Auto-play next episode toggle
P2P streaming toggle (with consent gate)
Subtitles and Audio
Preferred subtitle language
Use forced subtitles toggle
Preferred audio language
Decoder priority
All other settings listed on this page are hidden until the user switches to Advanced mode.