[FFmpeg-devel] [Jack-Devel] [PATCH] libavdevice: JACK demuxer
Sun Mar 15 21:32:44 CET 2009
Paul Davis a ?crit :
> On Sun, Mar 15, 2009 at 6:49 AM, M?ns Rullg?rd <mans at mansr.com
> <mailto:mans at mansr.com>> wrote:
> I'm guessing it works because you use only x86 and because you got
> lucky. Many other architectures have much more relaxed memory models,
> particularly with regards to ordering and SMP visibility.
This is untrue, we have done quite a lot of tests. Last year, I wrote a test
suite which runs a stress test using:
- jack ringbuffer
- portaudio ringbuffer with memory barriers
- portaudio ringbuffer without memory barriers
- a c++ ringbuffer, called lfq, written by Fons
The test suite is available here:
http://svn.samalyse.com/misc/rbtest (just type make test)
Thanks to the LAD, LAU and jack-devel subscribers, we got successful results
with the all of the above ringbuffers on dozens of systems, among which a
PowerPC SMP (dual IBM Cell system QS-21).
I'm not saying this is an absolute proof that the jack ringbuffer is bugfree, or
about whether memory barriers are needed or not.
But you just can't say that we use "only x86".
Btw, I've recently added the ffmpeg ringbuffer (AVFifoBuffer) to my test suite,
and it passes the test on my intel quad core. I don't have myself a PowerPC SMP
so I can't tell if it works on this platform.
More information about the ffmpeg-devel