[LAD] Communicating between python UI and C++ engine for real time audio?

Emanuel Rumpf xbran at web.de
Fri Nov 4 19:51:59 UTC 2011


2011/11/4 Paul Davis <paul at linuxaudiosystems.com>:
> On Fri, Nov 4, 2011 at 1:16 PM, Emanuel Rumpf <xbran at web.de> wrote:
>
>> While this is restrictive, in the way you mention, I think it's a
>> welcome simplification
>> ( compared to implementing a real-time-capable-linked-list + other
>> rt-structures ),
>> if your use-case doesn't require direct calls to the list (for any reason),
>> then you could request insert/remove/update operations through the
>> rt-ring-buffer.
>
> you can't perform insert/remove/update operations on a "normal" linked
> list in an RT thread.
>

Right. What I meant is: to enqueue the required operations in a
realtime-queue (ringbuffer),
then read that queue from a non-rt thread in order to update the non-rt list.
This implies OTOH, that list-actions take place with a delay (at least
not instantly), but
may work in some situations, e.g. recording an audio stream.

@ Iain and others
Before you start to implement your own, which can take as much time as
your whole project ...
Here is a list of some libs I found, that implement lock-free
structures, STM, etc.
http://wiki.linuxaudio.org/wiki/programming_libraries#lockfree_non-blocking_data_structures_-_libraries
If anything is missing, let me know, or edit yourself.

-- 
E.R.



More information about the Linux-audio-dev mailing list