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

Daniel Thor Kristjansson danielk at mrl.nyu.edu
Tue Dec 7 20:55:50 UTC 2004


On Tue, 7 Dec 2004, Taylor Jacob wrote:
]> sometimes can max out the system bus.  Each tuner card dumps a 45mb/s
]> stream (This can be fixed in the driver, to only send a single stream,
]> instead of the entire ATSC stream for a channel, so 4.5mb-19.4mb.
]Why does the pchdtv send a stream that is more than twice the bandwidth of ATSC?
] Where are you getting these numbers from? I have to assume you mean megabit..
]But it seems like you are mixing and matching units here.. Because even a 150
]megabit stream shouldn't slam a pci bus.

I think Brandon is talking about cable when he speaks of 45mb/s. The max 
per stream is 19.4 mb, which is also the max for 8-VSB ATSC. 

Now 135 megabits in from three cards + 20 mbits in from disk + 2000 
mbits out to the video card + 60 megabits out to disk. I can see how this 
might cause problems for the bus. You also have PCI protocol overhead to 
deal with... The problem isn't whether the bus could handle this if it 
were a simple read or write, it's really whether we can juggle all these 
things without occasionally overfilling an input buffer and losing some 
data. When top shows 99.9% idle, the pchdtv card can still overflow, 
just because our read thread is not a real time process.

And remember it isn't write time for the disk that matters, it's seek 
time, about 9 ms for the last 20 years or so. Though this shouldn't be 
too much of a problem with sufficiently large buffers and a separate 
sync thread.

-- Daniel


More information about the mythtv-dev mailing list