On Thu, Jul 14, 2011 at 10:23 AM, Udo Richter udo_richter@gmx.de wrote:
Is there any reason why the ring buffer can't or shouldn't be dynamic aside of just not bothering to implement it?
Unlimited buffers tend to get unlimited big, crashing your app with out-of-memory. Huge buffers also add lag to the signal. With no bandwidth issues, buffers are usually almost empty, with bandwidth issues, buffers are usually almost full.
I'm not sure such a blanket statement can be made these days. There are plenty of apps which grow & shrink buffers on the fly which seem to be perfectly stable. I suppose sloppy coding and mishandling of memory would cause the symptoms you're describing though.
On a side-note, a lot of people experience a frozen vdr/xine with 100% buffer. It's never been fixed to my knowledge and it's been a while since I've seen it brought up but iirc it has nothing to do with bandwidth. Rnissl, I think, knows what actually causes that particular problem.
In the end you set them as big as necessary, and as small as possible. And giving them a fixed size (possibly configurable) is less complicated, especially in a multi-threaded environment.
Translation: path of least resistance. ;)
Cheers