Re: [LAU] Linux audio app design: The nature of xruns

From: Dominic Sacré <dominic.sacre@email-addr-hidden>
Date: Tue Dec 29 2009 - 01:45:44 EET

On Monday 28 of December 2009 21:08:05 Arnold Krille wrote:
> > I don't know about Qarecord, but unfortunately JackMix is an
> > example of a JACK app that does not "follow the rules".
>
> Interesting. Do you care to explain that?

In JackMix::process(), two QMaps are created and filled with objects
(every single time the callback is invoked). I didn't look at the
implementation of QMap, but I don't see how this could work without
dynamic memory allocations happening somewhere.
In this particular case, I'd expect memory to be allocated for the
storage of the map elements, and probably for the content of the
QStrings (which are used as map keys) as well.

That said, I have no conclusive evidence to prove that any of the xruns
I've seen in the past were actually JackMix's fault. The real problem
might have been elsewhere.

I also use a lot of STL and various Boost libraries in my own JACK
projects (including the realtime parts), so I know how painful it can be
to figure out which parts of some convoluted template classes are "safe"
to use...

Dominic

PS: the jackmix-0.4.1.tar.gz tarball seems to be gzipped twice, so tar
can't open it without gunzipping it first...
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-user
Received on Tue Dec 29 04:15:07 2009

This archive was generated by hypermail 2.1.8 : Tue Dec 29 2009 - 04:15:07 EET