Following up my own post:

The buffer handling logic in 'csi_isr(int irq, void *priv)' in file 
/drivers/media/video/sun4i_csi/csi0/sun4i_drv_csi.c doesn't handle the case 
where the output process is slower than the input process.  It depletes the 
queue and just keeps updating the last remaining buffer.  For some reason 
the output process doesn't return its buffers in this case.  I changed the 
logic so when the output process is busy or the buffer count is depleted 
the interrupt routine just puts the new buffer back in the input queue 
thereby gracefully dropping the frame.

I'm not sure this is the best approach but it works better than the orignal 
approach.  I can supply details if anybody is interested.

Cheers,
Steven

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to