Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: Kernel OOPS



Johannes Stezenbach writes:
 > I fail to see why an API change would be necessary to fix
 > this. Well, maybe the problem would be simplified if one could
 > write TS to the video device, but I think the root of the
 > problem is in the implementation of av7110_ipack_instant_repack(),
 > plus some locking bugs.
 > 
 > My understanding of this code is very limited, but what I think
 > is should do is
 > - accept TS packets
 > - write PES packets to the same ring buffer that would be used
 >   for PES playback
 > so that the remainder of the driver wouldn't have to know the difference
 > between TS and PES playback. I don't see the reason why the
 > TS -> PES conversion cannot be made to work in non-blocking mode.
 > 
 > (Another TS playback issue which indeed cannot be solved without
 > API change is section filtering. But that's not what this
 > discussion is about.)

The filters are the problem. You have to set filters for PES input and
when you accept packets, you don't know if you can write them to the
buffers. Only after filtering you know if they are for the decoder
hardware or the section filters, but then it is too late to reject the
packets which prevents you from giving a valid return for a
non-blocking write operation. You need to have a way to tell the
filters how many packets they can accept based on the video and audio
buffers. Or maybe better based on the bit rate of the input
stream. This would require a call to set the rate. 
You get the problem with freeze and slow motion, because too many
packets are accepted and cannot be written to the video/audio buffer
and the filters don't know what's going on.
This can all be fixed, you just have to find someone willing to do it.

Marcus

-- 
/--------------------------------------------------------------------\
| Dr. Marcus O.C. Metzler        |                                   |
| mocm@metzlerbros.de            | http://www.metzlerbros.de/        |
\--------------------------------------------------------------------/
 |>>>             Quis custodiet ipsos custodies                 <<<|


-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index