[mythtv] DVB fixes

Ivor Hewitt ivor at ivor.org
Mon Dec 22 17:41:39 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.

After adding a few debugging messages every crash I had followed this 
pattern:-

VIA_decode_slice - 1, 00000118, max 36
DrawSlice code 1, datalen-00000118, len - 00000000
dwCount 00000120
VIA_decode_slice - 2, 00000158, max 36
DrawSlice code 2, datalen-00000158, len - 00000128
dwCount 00000160
VIA_decode_slice - 3, 00000168, max 36
DrawSlice code 3, datalen-00000168, len - 00000290
dwCount 00000170
VIA_decode_slice - 4, 00000180, max 36
DrawSlice code 4, datalen-00000180, len - 00000408
dwCount 00000188
VIA_decode_slice - 5, 000001c4, max 36
DrawSlice code 5, datalen-000001c4, len - 00000598
dwCount 000001cc
VIA_decode_slice - 36, 0000014c, max 36
DrawSlice code 36, datalen-00000150, len - 0000076c
dwCount 00000158

MPEGSliceReceiveData:
Slices:- i-1, 292 i-2, 356 i-3, 372 i-4, 396 i-5, 464 i-6, 348 i-7, -14554886


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.

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)


Regards,


-- 
Ivor Hewitt.
http://www.ivor.it - Wireless networking and techie bits.
http://www.ivor.org - The leylandii hedge pages


More information about the mythtv-dev mailing list