[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