On Sun, 2001-12-02 at 14:21, Christophe Baillon wrote:
> Hi,
> 
> I have modified an example programm of the alsa website, in fact
> to test reading a wave file.
> 
> The behaviour of my program is very strange !
> It works fine, the sample is played until the end, except when
> I change virtual screen in Window Maker !! When i do it,
> the program exit without error before the end of the sample.
> 
> Very strange ....
> 
> Is there something wrong in the program ?
> 
> This is the source code :
> 

Sounds like you aren't handling xruns (buffer underruns in this case).
There are some software parameters for controlling what happens when an
xrun occurs.

snd_pcm_sw_params_set_stop_threshold

PCM is automatically stopped in SND_PCM_STATE_XRUN state when available
frames is >= threshold


snd_pcm_sw_params_set_silence_threshold

A portion of playback buffer is overwritten with silence (see
snd_pcm_sw_params_set_silence_size) when playback underrun is nearer
than silence threshold


I'm not really sure how to use these myself. But you either want to
handle the XRUN (which is what I have normally done) or make it so it
never stops (set stop_threshold really high 0xFFFFFFFF, or something)
and the silence parameters correctly so that silence will be sent rather
than looping part of the buffer again. I might be wrong about all this,
so someone who really knows about ALSA XRUN handling should then step in
:)

-- 
    Josh Green
    Smurf Sound Font Editor (http://smurf.sourceforge.net)


_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to