Re: Flushing issue (was: So, where'd the volume controls get to?)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Samuel Thibault, le dim. 11 oct. 2020 16:35:16 +0200, a ecrit:
> Gregory Nowak, le sam. 10 oct. 2020 20:55:32 -0700, a ecrit:
> > 4. Open the sound card with another application.
> 
> Oh, in that case I do get the mixture on my system indeed.

It seems the buffering is happening inside alsa's dmix then. Could you
try the attached patch on pcaudiolib? (which is the one that configures
the buffering)

Samuel
Index: pcaudiolib-1.1/src/alsa.c
===================================================================
--- pcaudiolib-1.1.orig/src/alsa.c
+++ pcaudiolib-1.1/src/alsa.c
@@ -99,6 +99,7 @@ alsa_object_open(struct audio_object *ob
 
 	snd_pcm_hw_params_t *params = NULL;
 	snd_pcm_hw_params_malloc(&params);
+	snd_pcm_uframes_t bufsize = 128;
 
 	int err = 0;
 	if ((err = snd_pcm_open(&self->handle, self->device ? self->device : "default", SND_PCM_STREAM_PLAYBACK, 0)) < 0)
@@ -113,6 +114,8 @@ alsa_object_open(struct audio_object *ob
 		goto error;
 	if ((err = snd_pcm_hw_params_set_channels(self->handle, params, channels)) < 0)
 		goto error;
+	if ((err = snd_pcm_hw_params_set_buffer_size_near(self->handle, params, &bufsize)) < 0)
+		goto error;
 	if ((err = snd_pcm_hw_params(self->handle, params)) < 0)
 		goto error;
 	if ((err = snd_pcm_prepare(self->handle)) < 0)
_______________________________________________
Speakup mailing list
Speakup@xxxxxxxxxxxxxxxxx
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup

[Index of Archives]     [Linux for the Blind]     [Fedora Discussioin]     [Linux Kernel]     [Yosemite News]     [Big List of Linux Books]

  Powered by Linux