https://bugs.winehq.org/show_bug.cgi?id=44277
--- Comment #6 from Andrew Eikum aeikum@codeweavers.com --- (In reply to kakurasan from comment #5)
The hack works for me, but I think this is not "proper" fix because this is a hack for limited cases. However, I don't know how to set volume per channel with OpenAL API.
I'd be OK with a partial implementation like that. It could use some tests, input validation, and I'd probably use a do-while instead of the if(i>0) bit.
In the case where the volumes are not the same, I think we should WARN. It might make sense to average the volumes as an approximation. Or maybe take the lowest, or do nothing, I don't know. In practice I suspect few applications actually use this feature.