Cache the wave volume so it can be returned rather than the OSS derived value when possible. The windows volume is much higher resolution than what OSS uses. If you write a windows volume and read it back, it will most likely be different because of truncation. If the last saved windows volume when converted matches what OSS returns, then use the last windows volume rather than the OSS volume. This has no effect in practice but does allow diagnostic programs to not fail due to the truncation error.
Attachment:
wineoss.diff
Description: application/unknown-content-type-diff_auto_file