http://bugs.winehq.org/show_bug.cgi?id=10731
Raymond superquad.vortex2@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |superquad.vortex2@gmail.com
--- Comment #16 from Raymond superquad.vortex2@gmail.com 2010-09-17 22:40:21 CDT --- trace:wave:OSS_WaveOutInit /dev/mixer: PulseAudio Virtual OSS trace:wave:OSS_Info Formats=0000003b ( AFMT_MU_LAW AFMT_A_LAW AFMT_U8 AFMT_S16_LE AFMT_S16_BE ) trace:wave:OSS_Info Caps=00005100 trace:wave:OSS_Info Revision: 0 trace:wave:OSS_Info Duplex: true trace:wave:OSS_Info Realtime: false trace:wave:OSS_Info Batch: false trace:wave:OSS_Info Coproc: false trace:wave:OSS_Info Trigger: true trace:wave:OSS_Info Mmap: false trace:wave:OSS_Info Multi: true trace:wave:OSS_Info Bind: false
wineoss.drv assume that sound card support hardware mixing when DSP_CAP_MULTI: true ( support multi open )
#ifdef DSP_CAP_MULTI /* not every oss has this */ /* check for hardware secondary buffer support (multi open) */ if ((arg & DSP_CAP_MULTI) && (ossdev->out_caps.dwSupport & WAVECAPS_DIRECTSOUND)) { TRACE("hardware secondary buffer support available\n");
ossdev->ds_caps.dwMaxHwMixingAllBuffers = 16; ossdev->ds_caps.dwMaxHwMixingStaticBuffers = 0; ossdev->ds_caps.dwMaxHwMixingStreamingBuffers = 16;
ossdev->ds_caps.dwFreeHwMixingAllBuffers = 16; ossdev->ds_caps.dwFreeHwMixingStaticBuffers = 0; ossdev->ds_caps.dwFreeHwMixingStreamingBuffers = 16; } #endif
For ALSA OSS emulation , this mean that your ALSA sound card driver has multi subdevices
static int snd_pcm_oss_get_caps1(struct snd_pcm_substream *substream, int res) { if (substream == NULL) { res &= ~DSP_CAP_DUPLEX; return res; } #ifdef DSP_CAP_MULTI if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) if (substream->pstr->substream_count > 1) res |= DSP_CAP_MULTI; #endif