advancedsettings.xml and seeking¶
On large files, whether you get full seeking depends on one Kodi setting: the in-memory cache size. This page explains why and how to set it.
Why it matters¶
NeNeTeePee-Stream-Kodi's default serving mode for large non-MP4 files is direct
pass-through, which offers native HTTP range seeking. Many CoreELEC and
Amlogic devices run 32-bit Kodi builds, though. According to NeNeTeePee-Stream-Kodi's design
notes, those builds can fail (Open - Unhandled exception) on pass-through
streams whose advertised size is larger than roughly 4 GB, and turning off Kodi's
in-memory cache avoids it. This is Kodi behavior: NeNeTeePee-Stream-Kodi doesn't detect your
Kodi build or test for the problem.
There are two ways around this:
- Set Kodi's cache memory size to
0with<cache><memorysize>0</memorysize></cache>. Per NeNeTeePee-Stream-Kodi's design notes, pass-through then plays these files with full seeking. - Leave the cache as it is and set Large non-MP4 stream mode (Advanced
tab) to a remux tier. NeNeTeePee-Stream-Kodi then serves large files through ffmpeg as an
unsized stream, which hides the true file size from Kodi:
- Matroska remux works, but seeking is bounded to what Kodi has already buffered. The pipe has no byte ranges, and the proxy doesn't restart ffmpeg at a new position.
- fMP4 HLS gives full random seeking, but it's experimental and gated on Dolby Vision profile. See Playback, remux, and seeking.
Setting the cache to 0 gives the better experience for large files, which is
why NeNeTeePee-Stream-Kodi recommends it.
How to set it¶
NeNeTeePee-Stream-Kodi never edits advancedsettings.xml for you, because merging into an
existing file could overwrite your other settings. You add the entry yourself.
-
Create or edit this file:
- Standard path:
special://profile/advancedsettings.xml - On CoreELEC:
/storage/.kodi/userdata/advancedsettings.xml
- Standard path:
-
Add the following, merging with any existing
<advancedsettings>block: -
Restart Kodi for the change to take effect.
-
If you had switched Large non-MP4 stream mode to a remux tier, set it back to Direct pass-through (default). NeNeTeePee-Stream-Kodi doesn't change the mode on its own when it detects the cache setting.
Merge, don't overwrite
If you already have an advancedsettings.xml file, add the <cache>
element inside the existing <advancedsettings> root. Don't replace the
file.
The in-app prompt¶
When a stream is served through an ffmpeg remux, NeNeTeePee-Stream-Kodi may show a dialog, after playback has started, suggesting this setting so the file could play in full-seek pass-through instead. A remux happens when you've chosen a remux tier, or when an MP4 needed the ffmpeg remux rescue. The dialog comes only from playback started through TMDBHelper; plugin-URL playback doesn't show it. It offers three choices:
| Choice | Effect |
|---|---|
| Show instructions | Opens a viewer with the exact XML snippet and preceding path. |
| Not now | Dismisses the prompt for this Kodi session. You may see it again next session. |
| Never ask | Stops the prompt permanently. |
The prompt appears at most once per Kodi session. It appears only when a remux
was actually used, the cache isn't already 0, and you haven't chosen
Never ask. With the default pass-through mode, you won't normally see it.
Verifying¶
NeNeTeePee-Stream-Kodi reads special://profile/advancedsettings.xml only to decide whether
to show the preceding prompt (kodi_advancedsettings.py). It never writes to the
file, and the result doesn't change how streams are served. The setting counts
only when <memorysize> directly under <cache> is exactly 0.
After you restart Kodi, play a large title again. If it streams in pass-through with a working seek bar, the change took effect.