[mythtv] [Patch] EPIA-M & DVB-T
Joe Tapply
linux at jtapply.plus.com
Thu Nov 6 19:47:10 EST 2003
Hi everyone, I have been trying to run Myth on my Via EPIA-M/DVB-T
setup for a while, and I've been getting a lot of segfaults during playback
whilst using the Via H/W MPEG output. I finally got round to running Myth
in gdb in debug mode, and it seems that damaged DVB-T data is causing the
problems.
Basically, when we display a frame on the Via H/W, we send it a buffer
full of slices and a count of how many we're sending it. Unfortunately the
code in videoout_viaslice.cpp assumes that we never lose any slices - it
knows that there should N be in the current picture and when it sees slice
number N, it tells the H/W that it has N slices for it to decode. If we've
lost any slices (due to sunspots etc!) then there are actually fewer than N
slices in the buffer, and so the driver goes off into hyperspace as it
tries
to process non-existent slice data.
Here is a little patch which a) counts the number of slices we actually
have for
the current picture, and b) should actually detect if we've lost the last
slice
in a picture so we don't ever over fill our buffer.
This seems to work for me, so I'm hoping others will find it useful - use
it at
your own risk! In particular, whilst I no longer get segfaults, I do have
several
streams which cause a proper lockup with endlessly repeating audio and
which require
a hard reset - I have no way of debugging this (as I can't get back to gdb)
but the
audio and picture seem undamaged at the time of the lockup which is not
what I'd expect!
Anyway, here it is, and a big, big thanks for making MythTV!
Cheers,
Joe.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: viaslice_patch.diff
Type: application/octet-stream
Size: 3438 bytes
Desc: not available
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20031107/b4e7a777/viaslice_patch.obj
More information about the mythtv-dev
mailing list