[mythtv] HD3000 buffer overrun solution - patches for hdtvrecorder.cpp/.h against mythtv 0.16

Brandon Beattie brandon+myth at linuxis.us
Tue Dec 7 18:45:41 UTC 2004


> #1. I should warn people -- in the testing I had done, I had also 
> increased the size of the kernel buffer  
> (from 96KB to 282KB). When I posted yesterday, I had not yet tried 
> switching back to the smaller kernel  
> buffer. It turns out that I got buffer overruns again (only under heavy 
> system load though) with the smaller  
> buffer. 
> 
> But changing the kernel buffer size in the HD3000 rev-4 driver is quite 
> easy: 
> 
> Edit 
> HD-3000-CD-04/FedoraCore2-Kernel-2.6-systems/drivers/FedoraCore2-HD3000-driver-rev-1.4/cx88-atsc.c 
> : 
> 
> Change:  BUF_DEFAULT from 188*512 to 188*1536. 
> make ; make install 
> 
> Warning: Going much larger than this will not necessarily work. There 
> are some restrictions  
> on the size of the buffer (having to do with limitations on how the 
> Conexant chip's DMA controller  
> can be configured).  (A coworker of mine was able to set BUF_DEFAULT to 
> 188*3072, but he also 
> had to set TRANSPORT_SIZE to 188*16.) 

There are three or four places you have to change the buffer size.  The
code isn't completely clean in this matter.  You can go larger, but you
have to change it in several locations.  I don't know where they are off
the top of my head though.

--Brandon


More information about the mythtv-dev mailing list