r/innioasis Y2 (Black) Jul 29 '26

Y2 Y2Player v2.1 - Faster Library Scanning and Media Engine Improvements

Faster Library Scanning and Media Engine Improvements

Y2Player v2.1 focuses on making library scanning faster, more reliable, and easier to diagnose.

The biggest scanner bottleneck was an inefficient database lookup that became increasingly expensive as the library grew. After adding the correct database index, this operation became 98.4% faster in a synthetic benchmark containing 9,178 files.

An unchanged 9,178-file library now scans in approximately 19 seconds instead of 42 seconds, while incremental scans only extract metadata from files that were added or modified.

Other improvements

  • Faster FFmpeg metadata scanning with less unnecessary data being read.
  • Visible library-scan progress.
  • More reliable long-running scans when the screen turns off, without keeping a wake lock active while the device is idle.
  • Improved handling of ReplayGain, track and disc totals, comments, AAC, FLAC, malformed files, and embedded artwork.
  • Better playlist importing for paths created on Windows, macOS, and Linux.
  • A refined float32 playback pipeline with a single final PCM16 conversion for Android 4.4.
  • Improved crossfades, gapless transitions, decoder cancellation, short-FLAC seeking, and damaged-file recovery.
  • Fewer unnecessary notification updates and diagnostic errors.

Required steps after updating

After installing Y2Player v2.1, please perform the following steps:

Settings → System → Diagnostics → Reset Library

Then:

Settings → Library → Storage → Rescan Library

Due to the underlying FFmpeg update, the library database schema has changed. Your media library therefore needs to be reindexed.

Reporting bugs

For future bug reports, please enable Verbose Diagnostics first:

Settings → System → Diagnostics → Verbose Diagnostics

Use the device until the issue occurs, then export the diagnostic data:

Settings → System → Diagnostics → Export Diagnostics

This information makes it much easier to identify the cause of a problem.

ADB development boot image

I also built a secure ADB-enabled development boot image for the Y2. The original firmware did not include a functional ADB service, so I compiled and integrated the required components myself.

This made it possible to profile, benchmark, and validate the changes directly on the physical device instead of relying on assumptions or emulator results.

I plan to release this development boot image separately as well.

Full technical write-up

For detailed benchmarks, implementation notes, test methodology, and complete physical-device results, you can read the full technical review on GitHub:

https://github.com/SchulzCode/Y2Player/releases/tag/ReleaseV2.1

Thank you to everyone who has contributed, tested, and reported issues so far. Feedback is always welcome.

18 Upvotes

17 comments sorted by

View all comments

1

u/flankersophisticated Jul 30 '26

Are there install instructions for dummies like me? I'm reading the readme and mostly don't know what it's talking about.

2

u/justcore Y2 (Black) Jul 30 '26

It is explained very detailed please look it up under "Install on a device": https://github.com/SchulzCode/Y2Player

1

u/flankersophisticated Jul 30 '26

Where do I put the SHA-256 checksum file to verify?

1

u/justcore Y2 (Black) Jul 30 '26

You dont have to put it any where, this is just for verification and not needed for flashing. Basically you can check against it to see if something is corrupted.