[mythtv] DVB fixes
ke-aa at frisurf.no
Mon Dec 22 19:08:46 EST 2003
> I've been playing with myth and the cle266 hwslice driver and
> have tracked down a problem thats been causing intermittent
> crashes for me when there are errors in the mpeg stream.
> In this example Via_decode_slice isn't being called for
> several slices from 6 to 35. But when MPEGSliceReceiveData
> is called it is expecting 36 slices and so barfs when it hits 7.
> I've fixed this in my code temporarily, by walking through
> the slice list in VIA_decode_slice and counting how many
> slices there actually are, and passing this value through
> to slicereceivedata.
Are you saying that VIA_decode_slice could receive multiple
slices in the same data buffer?
Or that you are just counting the slices yourself, not
relying on the value provided?
> However, I think this is just a sticking plaster on an
> underlying problem...
> and my knowledge of the myth code isn't that good yet. So I
> wondered if anyone had any suggestions where I should be
> looking for why these slices are being skipped. (and why
> the call is being made for slice 36 rather than just
> stopping at 7)
I guess that libav(codec|frame) is only passing along what
ever it can figure out from the stream it receives. Looking
at mpeg12.c after the call to VIA_decode_slice, and it looks
like it does some checking for invalid slice order. Based on
this I would assume that the responsibility for handling
these cases are put upon VIA_decode_slice.
More information about the mythtv-dev