Skip to content

Poor perfomance of SMBJ, JCIFS-NG clients #95

@hyperinx

Description

@hyperinx

I enjoy listening to music in DSD format. For this, I use a SAMBA server, CIFS Documents Provider, and Onkyo HF Player on Android. It turns out that Onkyo HF Player is unable to properly release resources after switching tracks and often completely freezes, which frequently leads to the Android system rebooting. After experimenting with the CIFS Documents Provider settings, I found that smbj works slightly better than jcifs-ng, but it takes longer to retrieve folder and file names, causing a delay in folder display.

When switching tracks quickly in HF Player, the app can freeze indefinitely, and only restarting CIFS Documents Provider helps.

The biggest issues occur with FLAC files, whereas DSD playback is more or less stable without interruptions. Tweaking the number of simultaneously opened files (up to 999) can slightly improve performance, but over time, the system still ends up freezing.

If you use foobar2000 on Windows, everything works perfectly. Switching to the next track is instantaneous, with no interruptions—even on drives connected via USB 2.0.

In my opinion, it’s necessary to add support for a native SAMBA client written in C/C++ compiled for the ARM ABI, because Java is too heavy for this use case. In theory, this should help.

Foobar2000 (Windows 11) ---> SAMBA server (Raspberry Pi os) ---> USB 2.0 ---> 2.5 SATA HDD ---- Works perfect

Onkyo HF Player (Android 15) ---> CIFS Documents Provider (SMBJ/JCIFS-NG)---> SAMBA server (Raspberry Pi os) ---> USB 2.0 ---> 2.5 SATA HDD ---- Extreme lags, impossible to use music apps

Now you can see that something is wrong with this app.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions