[pulseaudio-discuss] PulseAudio and OpenAL games: AL lib: pulseaudio.c:331: PulseAudio returned minreq > tlength/2; expect break up

Martin Steigerwald Martin at lichtvoll.de
Wed Sep 17 13:04:41 PDT 2014


Am Mittwoch, 17. September 2014, 11:05:41 schrieb David Henningsson:
> On 2014-09-16 22:25, Martin Steigerwald wrote:
> > Hello!
> > 
> > Any solution for this?
> > 
> > When playing PlaneShift through Pulseaudio while PlaneShift is setup to
> > use
> > OpenAL as sound renderer  I get:
> > 
> > AL lib: pulseaudio.c:331: PulseAudio returned minreq > tlength/2; expect
> > break up
> > 
> > and well badly stuttering sound.
> 
> I'm not very familiar with OpenAL, and a quick look through the source
> (in Ubuntu 14.04) did not show any such warning message.
> 
> So I'm not sure what that warning means, and if the error is in OpenAL
> or in PulseAudio.
> 
> In theory, any application should be able deal with big minreqs and
> tlengths. In practice I know we've had issues with tlengths increasing
> gradually in the past, and I'm not sure all those issues have been root
> caused.

Thanks for looking into this.

I tried PlaneShift without PulseAudio but with setting:

device = default:CARD=Pebbles

into /etc/openal/alsoft.conf

This playbacks just fine. And wow… how fine :)

No stuttering this way. This at least proves that OpenAL and PlaneShift do not 
produce the stuttering by themselves.

The alsoft.conf has several settings things that may change something, like:

## periods:
#  Sets the number of update periods. Higher values create a larger mix ahead,
#  which helps protect against skips when the CPU is under load, but increases
#  the delay between a sound getting mixed and being heard. Acceptable values
#  range between 2 and 16.
#periods = 4

But since I don´t understand the actual problem that leads to the stuttering, 
i.e. don´t now about minreqs and tlengths, I am at a loss what settings to 
try.


As to the source: It indeed hasn´t the error message in pulseaudio.c directly:

 327 #undef LOAD_OPTIONAL_FUNC
 328 
 329         if(ret == ALC_FALSE)
 330         {
 331             CloseLib(pa_handle);                                                                                                        
 332             pa_handle = NULL;
 333         }
 334     }
 335 #endif /* HAVE_DYNLOAD */



And I only see a similar error message in a different backend:

martin at merkaba:~/Zeit/openal/openal-soft-1.15.1> grep -ir "expect break up" .
./Alc/backends/mmdevapi.c:        ERR("Audio client returned buffer_len < 
period*2; expect break up\n");


Strange.

Its exact the source package of the version I have installed: 1.15.1-5


And error message indiciates it is from libopenal.

Ciao,
-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7


More information about the pulseaudio-discuss mailing list