[pulseaudio-discuss] mainloop n defer events assertion
Tanu Kaskinen
tanuk at iki.fi
Sat Apr 23 10:26:13 UTC 2016
On Wed, 2016-04-20 at 21:30 +0000, John Promersberger wrote:
> Noob.
>
>
> I thought my code was doing really well, but it has started to
> terminate on the mainloop assertion where the number of deferred
> events is greater than 0 (mainloop.c: ~280 if I remember correctly).
> Looks like it is in mainloop->defer_enable(). Seems to mostly occur
> when I'm corking/fllushing/disconnecting/decrementing reference count
> of a stream. After I tear down the stream, I build a different
> stream to play a different sound. I've since taken out the corking
> of the stream.
>
>
> I couldn't find anything useful to read regarding this. I'm not
> creating an deferred events explicitly myself.
>
>
>
> Any ideas that could resolve this?
Do you have multiple threads by any chance? I've seen that kind of an
assertion with code that accessed the mainloop from multiple threads.
libpulse is not thread-safe, so accessing libpulse objects from
multiple threads is not supported (unless you yourself implement the
necessary locking to make it safe).
--
Tanu
More information about the pulseaudio-discuss
mailing list