wmanley / cisco-vqe-client

RTP Client targeted at Multicast IPTV
Other
9 stars 21 forks source link

VQEC memory error patch. #8

Closed sqward closed 11 years ago

sqward commented 11 years ago

It seems there's a bug in VQEC that manifests itself with a fact that it's running out of memory surfacing VQEC_ERR_SYSCALL error. This happens despite the fact that the number of active tuners is actually lower then the maximum specified in the config file.

This commit fixes that problem by using malloc/free instead of the custom allocators normally used. VQEC allocates all of its memory upfront, trying to prevent, bad malloc/free implementations memory fragmentation, spikes, performance related issues, and abstract memory allocation for th e case when VQEC is running in the kernel. Sadly this mechanisms fails in our case when it really should not.

Since in our case we're running on relatively powerfull box, with lots of memory, using malloc/free should not harm us.

It's worth to mention that possiblility of running VQEC in kernel mode seems to be an unnecessary complication in the year of 2013. Ideally we'd like to see this feature go for the sake of code simplificaton.