[Bug 25750] Baldur's Gate + winealsa + PulseAudio: Beginnings of menu sounds are clipped

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Jan 12 01:36:51 CST 2011


http://bugs.winehq.org/show_bug.cgi?id=25750

Raymond <superquad.vortex2 at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |superquad.vortex2 at gmail.com

--- Comment #5 from Raymond <superquad.vortex2 at gmail.com> 2011-01-12 01:36:51 CST ---
Just like PA server 

dsoutput.c

    snd_pcm_sw_params_set_stop_threshold(pcm, sw_params, boundary);


CheckXRUN won't work any more because state will not be SND_PCM_STATE_XRUN
anymore when avail frames > buffer size since boundary >> buffer size


http://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m___s_w___params.html

PCM is automatically stopped in SND_PCM_STATE_XRUN state when available frames
is >= threshold. If the stop threshold is equal to boundary (also software
parameter - sw_param) then automatic stop will be disabled (thus device will do
the endless loop in the ring buffer) 



static void CheckXRUN(IDsDriverBufferImpl* This)
{
    snd_pcm_state_t state = snd_pcm_state(This->pcm);
    snd_pcm_sframes_t delay;
    int err;

    snd_pcm_hwsync(This->pcm);
    snd_pcm_delay(This->pcm, &delay);
    if ( state == SND_PCM_STATE_XRUN )
    {

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list