crackededed / Xtra

Xtra is a Twitch player and browser for Android.
GNU Affero General Public License v3.0
1.17k stars 43 forks source link

[Feature] Cache stream manifest urls #275

Open SebiderSushi opened 1 year ago

SebiderSushi commented 1 year ago

Currently it appears that when switching between streams, Xtra starts each stream from scratch. This can takes a while and increases the frequency of ads being played or the amount of requests to ttv.lol if ad-blocking is enabled.

Is it possible to keep the stream manifest url in cache once a stream has been played once to allow quickly switching back to it?

crackededed commented 1 year ago

do the playlists expire at some point? or could we just keep reusing them

SebiderSushi commented 1 year ago

From my experience with playing/recording with mpv and ffmpeg, the manifest URLs returned by TTV.LOL keep working across an entire stream. Once a stream ends they return 404. Xtra would have to invalidate cached URLs whenever a stream has ended since the last time it was cached.

If ad-blocking is disabled then i'm not too sure how many ads twitch will stitch into the stream when reusing vs. refetching the manifest from scratch.

If ad-blocking is enabled, Xtra should preferably store whether a cached URL is coming from the ad-blocker proxy or directly from twitch to prevent that an URL with ads is kept in use even if the proxy becomes reachable again.