When WASAPI is active the position indicator and the time will show the position that is filled into the buffer, not the actually played.
To test this:
1. Close Helium
2. Open helium.json and set "BassPlaybackBuffer": 60000
3. Open Helium
4. Empty play queue and play a single track
5. Play till the end of the track (don't jump)
When the position indicator reaches the end and the time shows 0:00 you still listen to the last 60 seconds of the track...
I have reproduced this, but it is caused because of a hack.
If you try to set a value larger than 5000ms via Options for the buffer size, the value will be set to 5000ms.
During my tests with a buffer of 5s, the synchronization worked almost perfect, but can be improved (see my reply about improving the buffer handling related to crossfading).
So, since this is really not a "real" case, I'll close this report about the extremely big buffer.
>> ...but it is caused because of a hack.
No, the hack is only to make it hard to ignore - even set to 1000ms, the indicator and time will be in front of the audio...
You can test this easily with the attached file - 10s of silence, 10s of noise and 10s of silence.
Activate graphical position indicator.
Using WASAPI and a buffer of 5s, you can hear the noise when the indicator is at 15s...
Please retest with this version:
Quickfix and maybe not 100% perfect, but at least 98.5% good :)
I'll take this as solved for now, since all this will change in behavior with the upcoming mixer/gapless system.
Thanks for testing!