[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