Rockbox Technical Forums

Rockbox General => Rockbox General Discussion => Topic started by: ironmine on June 01, 2019, 10:38:53 PM

Title: Weird problem: iRiver IHP-120 refuses to play losslessly compressed formats
Post by: ironmine on June 01, 2019, 10:38:53 PM
Hi

I have the iRiver IHP1-120 player (Rockbox 3.14 with CF mod) which skips tracks anywhere in the middle of a song and jumps to the next one. 

By extensive testing and experimenting, I confirmed that this skipping problem is NOT dependant on the following factors:

1. Rockbox version: I tried installing earlier Rockbox firmwares, several of them, it did not help. The problem is exactly the same.

2. MicroSD card model: I tried several MicroSD cards, they all behave in the same way.

3. Card formatting: I tried to format the card with different cluster sizes, the skipping problem is still there.

4. MicroSD card or native hard drive: when I replace the card with the native hard drive, nothing changes. The problem does not depend on the medium inside the player.

5. Player settings: I tried different themes, switching EQ on and off, crossfeed on and off, changed the disk spindown time, anti-buffer settings, exited from the "now playing" screen into the file browsing mode while playing, boosted the processor in the debug menu, etc. It all does not matter, the problem still remains the same.

But here are some interesting things I found that DO affect the skipping behavior of the player:

Skipping happens only when I play the following losslessly compressed formats: FLAC, APE, WV, Apple lossless, True Audio (tta)

Skipping does not happen when I play lossless uncompressed formats: AIFF, Sun Audio (au).

WAV playback behaves in its own special way: where a FLAC file stops playing and skips to the next track, a WAV file starts emitting a series of short white noise sounds (for 1-3 sec) and then continues playing the same file, it does not jump to the next track.

Skipping never happens when I play lossy compressed formats: MP3 (max. quality, 320 bit/s), OGG (max.quality, 500 bit/sec), AC3 (max.quality 640 bit/sec).

I even tried this format: I converted a WAV file into LossyWAV  (https://wiki.hydrogenaud.io/index.php?title=LossyWAV)first and then compressed it to Flac (so called LossyFLAC (https://wiki.hydrogenaud.io/index.php?title=LossyWAV#lossyWAV_and_foobar2000)). The resulting LossyFLAC file is not only smaller than OGG (so it can be read from the card faster) but, because it is FLAC, it requires less decoding efforts from the processor than OGG. But the player still skips such easy to read and easy to digest LossyFLAC files while it plays hard core OGG files just fine !!

During the experiments above, I looked at System > Debug > View Buffering Thread and I noticed that the formats which play normally, without skipping (such as aiff, au, ogg) they all have the same common feature: they don't have any watermark value (on the screen "View Buffering Thread").

I also noticed (in "View Buffering Thread") that when skipping happens, at this moment the buffers become empty.

So, can anybody explain this weird but interesting problem or find a solution to it?

I would greatly appreciate any advice or help, as I love my iRiver 120 player dearly and don't want to part with it.

Regards,
Eugene K