github ysosrs123/NuvioTV-Fork 0.7.19-beta-n1
Nuvio-test 0.7.19-beta-nt1

one month ago

Upstream: NuvioTV 0.7.19-beta

The full upstream release is merged. Credit to the upstream authors — see the upstream release notes for their own account of these changes.

Playback and networking

  • SNI and TLS 1.3 restored for streams with untrusted SSL certificates; the playback client now tries system SSL first and falls back only on failure. IPv4-first DNS extended to the image and torrent clients. (halibiram)
  • Automatic frame rate: streams carrying only a User-Agent header regain fast NextLib probing, and the FPS cache is keyed by filename so rotating signed links still hit cache. (halibiram)
  • Display mode is no longer restored prematurely when the frame-rate matching setting is changed mid-playback. (halibiram)
  • Dolby Vision Profile 5 under Always Strip DV: the RPU is now stripped only when HDR10 static metadata is present, so P5 titles without it keep Dolby Vision instead of losing colour accuracy. (DeclanSC)
  • Zidoo Z9X 8K recognition. (jeffmcardle)
  • Default back buffer raised to 1.5 s on the stock buffering path. (halibiram)

Interface and data

  • Episode release dates and exact airtimes. (Laskco)
  • New Upcoming row for Continue Watching, with a matching sort mode. (skoruppa)
  • Profile isolation hardening: Continue Watching and watched badges no longer leak between profiles. (guuilp)
  • Stale auto-next navigation after a profile change is prevented. (tapframe)
  • Preference files gain shadow-copy backups with corruption recovery. (skoruppa)
  • Stable list identity for Collection Editor and Grid View; focus no longer jumps when shimmer placeholders resolve into real rows; Classic vertical fast-scroll fixes. (skoruppa)
  • Trakt refresh tokens are invalidated correctly on sign-out. (tapframe)
  • Right-to-left subtitle rendering and slider controls. (haveAnIssue)
  • Polish translations. (skoruppa)

Fork-side notes on the merge

  • The fork's HTTP/2 preference still applies to the parallel data path.
  • The 1.5 s back buffer affects the stock buffering path only; custom buffer settings are untouched.
  • useReleaseDates now defaults to off upstream, making exact airtimes opt-in.

Device assessment: sweep crash hardening

A device-assessment sweep on a 2 GB box (S905X5M) could kill the app outright. The 3 connection / 64 MB cell was the reproducible case.

Cause. The ladder gated cells on a display estimate of (connections + 2) x chunk measured against the warning memory limit, while the speed tester actually ran a prefetch window of connections x 4 chunks. The permitted memory ceiling for that cell was therefore close to 1 GB against a 250 MB safe budget. The first refused allocation surfaced as an OutOfMemoryError on a download worker thread whose error handling only caught Exception, so it escaped to the default handler and terminated the process.

Fixes.

  • A failed cell no longer takes anything with it. Chunk allocation failures are contained at the worker, the idle buffer pool for that chunk size is released, and the failure is reported as a normal I/O error. The sweep records the cell as failed, shows it in the status line, and carries on. This containment protects normal playback too, not just sweeps.
  • Cells are budgeted against what actually runs. A single shared calculation now decides both whether a cell may be scheduled and the window it runs with, so the gate can no longer disagree with the allocation. Cells whose nominal concurrent footprint exceeds 128 MB are never scheduled on any device, and cells that cannot be bounded within the device's budget are skipped.
  • Recommendations respect the memory tier. On 2 GB-class devices the assessment will not recommend chunk sizes above 32 MB, even if a bounded probe measured one as fastest.
  • Each sweep cell now starts from a fresh session, removing warm-start bias from the measurements.

Sweep results will differ slightly from earlier runs: the measurement windows are bounded and the sessions start cold. This is intentional.

Automatic frame rate

  • The ExoPlayer cache-only preflight now reads the frame-rate cache with the same filename-based key upstream introduced for writing it, so cached detections are actually found.
  • Fixed a pre-existing bug where switching sources mid-playback carried the previous stream's filename forward into the media source, the media session metadata and the frame-rate cache lookup.

Install

Sideload via ADB or a file manager. This is a personal test build with the application ID com.nuvio.tv.test, so it installs alongside official NuvioTV rather than replacing it.

Licence and attribution

GPL v3.0. All upstream copyright headers, licence text and developer attributions are preserved. This fork is not affiliated with or endorsed by the NuvioTV project; please do not report issues from this build to upstream.

Don't miss a new NuvioTV-Fork release

NewReleases is sending notifications on new releases.