github Viren070/AIOStreams android-v0.2.0
android: v0.2.0

latest release: android
4 hours ago

0.2.0 (2026-10-10)

Features

  • android: add a download queue in a foreground service (d9ee314)
  • android: add a media session with picture-in-picture and audio focus (9e64db8)
  • android: add an Android TV launcher entry and banner (9c945d1)
  • android: add an ExoPlayer engine (764da86)
  • android: add the Android app (2132721)
  • android: add the subtitle files the page sends (18b972c)
  • android: add tunneled playback to ExoPlayer (58be863)
  • android: answer player-stats with ExoPlayer's formats and the app's CPU time (8b1cd9f)
  • android: decode Dolby Vision profile 5 in software in mpv (484ce7c)
  • android: fall back to mpv when ExoPlayer can't decode a file (e54d2b6)
  • android: fetch libmpv from a pinned, hash-checked release (983666a)
  • android: hand Back to the page (36ae5a0)
  • android: inflate zlib-compressed Matroska tracks for ExoPlayer (196737f)
  • android: lower the minimum SDK to 24 (0b901d8)
  • android: open aiostreams:// links and external players (f38203a)
  • android: open the system's speech recogniser for the page (7657b76)
  • android: play a failed file again on the other engine when the page asks (ba2416c)
  • android: read back to the subtitle lines a seek lands in (7592d22)
  • android: rewrite Dolby Vision samples in native code, profile 7 RPUs as 8.1 with libdovi (0bae7a7)
  • android: route Dolby Vision tracks by the display's HDR types and the decoders' profiles (a97ff28)
  • android: run downloads in a user-initiated data transfer job on Android 14 and later (943b52b)
  • android: save files the page sends to Downloads (59e175a)
  • android: set the media volume and window brightness for the page (0c77762)
  • android: switch the display mode to the video's frame rate (a7d94f8)
  • android: tell the page it runs on a TV (da3281c)
  • android: tell the page whether the device has picture-in-picture (abc59e4)
  • android: turn ExoPlayer's passthrough on and off with audio-spdif (8a1af3e)
  • android: update from the release feeds (f6cdf7c)
  • jellyfin: keep a user separate, on a sign-in address of their own (691dc9b)
  • ui: add a right-side sheet to the modal (691dc9b)
  • web: add a follow hero that keeps its artwork in the top corner (691dc9b)
  • web: add a frame-rate matching setting on Android TVs (691dc9b)
  • web: add a solid navigation bar background and put navigation settings in one card (691dc9b)
  • web: add a tooltip to the rating button (691dc9b)
  • web: add a tunneled playback setting on Android TVs (691dc9b)
  • web: add a TV layout (691dc9b)
  • web: add a voice search button on Android TVs (691dc9b)
  • web: add an Automatic player engine and make it the default (691dc9b)
  • web: add data-nav-exit focus boxes (691dc9b)
  • web: add floating and corner side rails (691dc9b)
  • web: allow the following hero on TVs (691dc9b)
  • web: blur liquid glass without its bend while it resizes (691dc9b)
  • web: bring the page to its top for focus in the item header (691dc9b)
  • web: choose the Android app's player engine (691dc9b)
  • web: draw ExoPlayer's statistics over the player (691dc9b)
  • web: drop copying stream links on TVs (691dc9b)
  • web: drop downloads on Android TV (691dc9b)
  • web: drop the follow hero's buttons on TVs (691dc9b)
  • web: drop the Shortcuts settings tab on TVs (691dc9b)
  • web: drop the versions filter on TVs (691dc9b)
  • web: enter a focus group from outside at the start of its row (691dc9b)
  • web: export the watch history through the Android app (691dc9b)
  • web: fill focused list rows instead of outlining them (691dc9b)
  • web: fit the sign-in pickers to a remote (691dc9b)
  • web: float a TV's top bar over the page on glass (691dc9b)
  • web: focus an item page's Play when keys open it (691dc9b)
  • web: focus the first item on Select with nothing focused (691dc9b)
  • web: give liquid glass a wider, stronger rim and edge highlights (691dc9b)
  • web: give the Android and Android TV apps their own client names (691dc9b)
  • web: glide keyed scrolls on a spring of our own (691dc9b)
  • web: hear back from external players in the Android app (691dc9b)
  • web: hide an episode's buttons on TVs and add Details to its menu (691dc9b)
  • web: hide external links and skip the hero's dots on TVs (691dc9b)
  • web: hide scrollbars on TVs (691dc9b)
  • web: hide the player's controls on Back before leaving on a TV (691dc9b)
  • web: keep a show's Play button in place while its next episode loads (691dc9b)
  • web: land focus where it last was in rows, grids and lists (691dc9b)
  • web: leave volume out of the player on TVs and touch screens (691dc9b)
  • web: let a held key's action run until the key is let go (691dc9b)
  • web: list versions in a drawer over the player and on short screens (691dc9b)
  • web: list versions in a side sheet over the player (691dc9b)
  • web: mark a focused settings tab on its sliding marker (691dc9b)
  • web: mark webOS and Tizen as TVs (691dc9b)
  • web: offer the other engine on the Android app's error screen (691dc9b)
  • web: open a TV's keyboard on Select rather than on focus (691dc9b)
  • web: open a user's own address on their sign-in (691dc9b)
  • web: play full screen on tablets in the app (beee186)
  • web: put a TV's keyboard away on its own Enter (691dc9b)
  • web: remove a recent search from its context menu (691dc9b)
  • web: rework the player's controls (691dc9b)
  • web: run a button's hold action on a held Select (691dc9b)
  • web: say which picture fit the button picked (691dc9b)
  • web: scroll to the top when the rotating hero takes focus (691dc9b)
  • web: send Back into a TV's navigation from the pages it leads to (691dc9b)
  • web: show the display's HDR types and the Dolby Vision route in ExoPlayer's statistics (691dc9b)
  • web: show the passthrough switch in the Android app (691dc9b)
  • web: show the picture-in-picture setting only where the device has it (691dc9b)
  • web: show the player's controls on Up and Down on TVs (691dc9b)
  • web: skip row headers and hide minor buttons on TVs (691dc9b)
  • web: slide a TV's top bar away while focus is in the following hero's rows (691dc9b)
  • web: start Discover's focus on its first card (691dc9b)
  • web: start the version picker on the first version for keys (691dc9b)
  • web: take ordered audio and subtitle language lists (691dc9b)
  • web: take the Android app's Back (691dc9b)
  • web: thicken card focus rings on TVs (691dc9b)
  • web: wrap focus across card grid rows (691dc9b)

Bug Fixes

  • android: apply sub-ass-override to ASS in ExoPlayer (2e4da69)
  • android: copy the web build into the app on every build (4829b1e)
  • android: fall back to mpv on ExoPlayer failures other than loading the link (21d1201)
  • android: hide the video view once the page closes the player (51a7fbe)
  • android: replace the launcher PNG with an adaptive icon (79ad343)
  • android: start libass's renderer over when clearing a file's fonts (e08efdf)
  • android: strip native libraries with the pinned NDK (cf96344)
  • android: time embedded text subtitles by the video's frames (3c4db7b)
  • android: write mpv's CA bundle from Android's certificate store (1a3f43d)
  • ui: focus a combobox's list when keys open it (691dc9b)
  • ui: ignore a loading button's presses instead of disabling it (691dc9b)
  • ui: keep a modal's overlay and content on their own layers (691dc9b)
  • ui: show a controlled Select's value again after a pick it didn't take (691dc9b)
  • ui: size a modal's column to its box rather than its widest text (691dc9b)
  • ui: transition a tab's colours rather than all its properties (691dc9b)
  • web: bring a focused field into view when the Android app's keyboard opens (691dc9b)
  • web: copy mpv's decoded frames back on TVs (691dc9b)
  • web: drop a page's focus spot only when the pointer leaves it (691dc9b)
  • web: fade each hero backdrop in as a layer over the last (691dc9b)
  • web: fade the item page's backdrop out at its bottom edge (691dc9b)
  • web: fall back to the title when the hero's logo fails to load (691dc9b)
  • web: fix TV focus around the rail, page starts, grids and rows (691dc9b)
  • web: give focus back to what opened the version picker (691dc9b)
  • web: go up or down to the nearest row when nothing is in line (691dc9b)
  • web: hand a remote's Back in a list to the back action (691dc9b)
  • web: hide the volume step on TVs (691dc9b)
  • web: jump rather than restart a smooth scroll that's still going (691dc9b)
  • web: keep every arrow key on a TV (691dc9b)
  • web: keep fading hero backdrops on their own layers (691dc9b)
  • web: keep keyed scroll steps off the page behind a dialog (691dc9b)
  • web: keep Left and Right on focus's own line (691dc9b)
  • web: keep the page still for focus in a dialog or bar (691dc9b)
  • web: keep the player's controls awake while keys move in them (691dc9b)
  • web: keep the player's TV layout on TVs that report a touch pointer (691dc9b)
  • web: leave row posters room only for the caption lines shown (691dc9b)
  • web: list ExoPlayer before mpv in the player engine setting (691dc9b)
  • web: mark a focused episode on its thumbnail in rows and its row in lists (691dc9b)
  • web: measure an episode's title as its whole card for focus moves (691dc9b)
  • web: measure focus moves from where scrolls under way end (691dc9b)
  • web: move focus sideways into the nearest bar (691dc9b)
  • web: narrow row cards to the height left under the following hero (691dc9b)
  • web: press Enter in a field on a gamepad's A (691dc9b)
  • web: retry rate-limited download version searches after Retry-After (691dc9b)
  • web: reveal the outermost nav box and make rows nav boxes (691dc9b)
  • web: rework the download rows for phones (691dc9b)
  • web: ring a focused season poster inside its image (691dc9b)
  • web: ring a focused version inside its card (691dc9b)
  • web: ring focused menu items and options inside their edges (691dc9b)
  • web: scroll a focused episode's whole card into view (691dc9b)
  • web: set the item menu's width on phones and clamp where it opens (691dc9b)
  • web: skip inert elements when returning focus to a page (691dc9b)
  • web: skip rows scrolled out of their own scroller when moving focus (691dc9b)
  • web: take a held key's quick presses as repeats (691dc9b)
  • web: treat sticky bars like fixed ones in arrow navigation (691dc9b)

Performance Improvements

  • android: tell the page whether a game controller is attached (1c679bc)
  • ui: glide a carousel to focus with a CSS transition (691dc9b)
  • web: ask for a show's next episode, seasons and opening episodes as its page starts to draw (691dc9b)
  • web: ask the Android app's mpv for direct MediaCodec decoding (691dc9b)
  • web: check a row's end in a frame rather than in its effect (691dc9b)
  • web: count saved bytes so a prune reads every entry only near the limit (691dc9b)
  • web: draw a home library row's cards only once it nears the screen (691dc9b)
  • web: draw a title's page from a loaded list's copy of it while it loads (691dc9b)
  • web: draw only the cards near a long row's view (691dc9b)
  • web: ease keyed page and hero row scrolls on the compositor on TVs (691dc9b)
  • web: fade card overlays rather than colouring them in (691dc9b)
  • web: fade cards in with the Web Animations API (691dc9b)
  • web: give focus transitions on cards the keyed glide's duration (691dc9b)
  • web: hold placeholders still in rows not loading yet (691dc9b)
  • web: keep React from listening for transition and animation events (691dc9b)
  • web: keep saved artwork as Blobs (691dc9b)
  • web: keep the home page while others are open (691dc9b)
  • web: keep the playhead out of the player's React state (691dc9b)
  • web: leave the touch navigation bar out on TVs (691dc9b)
  • web: make form-less buttons submit buttons on Android (691dc9b)
  • web: measure nearness by hand and keep link addresses in data-href on TVs (691dc9b)
  • web: measure only cards near the screen when moving focus (691dc9b)
  • web: open a settings tab once focus rests on it (691dc9b)
  • web: open item menus without blocking the page (691dc9b)
  • web: open the docked TV rail with a fade rather than a widening (691dc9b)
  • web: pace a held key's repeats to the screen (691dc9b)
  • web: pause the rotating hero while it is out of sight (691dc9b)
  • web: put a submit button before the page's first control on Android (691dc9b)
  • web: read fewer layouts when moving focus (691dc9b)
  • web: save the small copies of shrunk artwork (691dc9b)
  • web: scale artwork at rest and look for open dialogs only in portals (691dc9b)
  • web: scale focused artwork in 200 ms (691dc9b)
  • web: scroll TV rows natively with a compositor glide (691dc9b)
  • web: share intersection observers between elements (691dc9b)
  • web: share one item menu between all cards (691dc9b)
  • web: show artwork as images kept in memory (691dc9b)
  • web: shrink artwork in a pool of workers (691dc9b)
  • web: start gamepad support in the Android app only with a controller attached (691dc9b)
  • web: start the artwork workers with the page and make blob addresses in them (691dc9b)

Don't miss a new AIOStreams release

NewReleases is sending notifications on new releases.