Re: Simple, easy multithreaded circular buffer library for Linux?

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

 



>> The Portaudio code looks more and more robust to me. It's also
>> surprisingly short. Maybe that the best would be to replace jack's
>> ringbuffer with it? I think it should be possible to keep the
>> jack_ringbuffer api unchanged.
> 
> I'd rather add the memory barriers to the JACK code, but this could be a
> race to see who does what first. A memory barrier is typically single
> instruction. The complication tends to be defining them in a
> sufficiently portable way.

gcc provides built-in memory barriers, which are straight-forward to 
use ... beside that, one could use an abstraction layer, providing 
assembler code (iirc, portaudio implements memory barriers for multiple 
platforms as macros) ...

there is also the atomic_ops project [1], providing atomic operations for 
multiple platforms ... it had some issues, when i first tried it two 
years ago, but they seem to be resolved now ...

best, tim

[1] http://www.hpl.hp.com/research/linux/atomic_ops/

-- 
tim@xxxxxxxxxx
http://tim.klingt.org

art is short - life is long
  Jack Kerouac

_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@xxxxxxxxxxxxxxxxxxxx
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user

[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux