http://bugs.winehq.org/show_bug.cgi?id=28027
Summary: μ-law rendering with pauses and repetitions Product: Wine Version: 1.3.26 Platform: x86 OS/Version: Mac OS X Status: UNCONFIRMED Severity: normal Priority: P2 Component: mmdevapi AssignedTo: wine-bugs@winehq.org ReportedBy: hoehle@users.sourceforge.net CC: aeikum@codeweavers.com
On MacOS, playing the 11kulaw.wav sample from the MCI shell causes intermittent pauses (of variable duration, roughly ~0.5s). After each pause, sound does not necessarily resume where it left off, but the audible output is correct (μ-law was decoded).
MCI shell (bug #20232, comment #10): wine wintest.exe mcishell open 11kulaw.wav alias u play u from 0 close u
By contrast, rendering IMA_ADPCM works. The difference is that ADPCM goes through Wine's codec, while μ-law is apparently handled by MacOS, as you can tell from the missing fixme:g711:G711_StreamSize lines that appear on Linux (or in older versions of Wine on MacOS, e.g. 1.1.35).
trace:coreaudio:AudioClient_Initialize (0x11d7b0)->(0, c0000, f4240, c350, 0x139 438, {d7875583-d596-4af9-9c30-7755c50b26f8}) trace:coreaudio:dump_fmt wFormatTag: 0x7 (Unknown) trace:coreaudio:dump_fmt nChannels: 1 trace:coreaudio:dump_fmt nSamplesPerSec: 11025 trace:coreaudio:dump_fmt nAvgBytesPerSec: 11025 trace:coreaudio:dump_fmt nBlockAlign: 1 trace:coreaudio:dump_fmt wBitsPerSample: 8
One possible fix might be to have mmdevapi refuse all but linear PCM. Perhaps this particular bug is nevertheless interesting because it might reveal faults in the handling of the Mac OS audio units. After all, μ-law might be transparent to the player because its samples/sec, blockalign etc. look exactly like linear PCM.