Matt Chapman wrote:
Thus the assumption is that, at beginning and end of playback, info->fragstotal * info->fragsize == info->bytes, so that wwo->dwPlayedTotal == wwo->dwWrittenTotal.
But, for my soundcard (ymfpci driver), after asking for 15 frags * 1024 bytes the situation is:
fragments = 15, fragstotal = 18, fragsize = 1024, bytes = 15612
i.e. info->fragstotal * info->fragsize = 18432, info->bytes = 15612
this sounds a bit crazy from the API point of view but if the driver is really implemented like this your patch would be fine. IMO, we should anyway add a comment for this behavior in the code so that we don't loose track of this interesting "feature"