# HG changeset patch # User michael # Date 1236473145 0 # Node ID 5dd1730abf98bc9be1191794cb3a297d0bb83a27 # Parent 5e391d180d814c495848c87e4d53195770ac0430 Comments to indicate where memory barriers may be needed. diff -r 5e391d180d81 -r 5dd1730abf98 fifo.c --- a/fifo.c Sat Mar 07 21:02:08 2009 +0000 +++ b/fifo.c Sun Mar 08 00:45:45 2009 +0000 @@ -91,6 +91,7 @@ memcpy(f->wptr, src, len); src = (uint8_t*)src + len; } +// Write memory barrier needed for SMP here in theory f->wptr += len; if (f->wptr >= f->end) f->wptr = f->buffer; @@ -103,6 +104,7 @@ int av_fifo_generic_read(AVFifoBuffer *f, int buf_size, void (*func)(void*, void*, int), void* dest) { +// Read memory barrier needed for SMP here in theory do { int len = FFMIN(f->end - f->rptr, buf_size); if(func) func(dest, f->rptr, len); @@ -110,6 +112,7 @@ memcpy(dest, f->rptr, len); dest = (uint8_t*)dest + len; } +// memory barrier needed for SMP here in theory av_fifo_drain(f, len); buf_size -= len; } while (buf_size > 0);