Hi,

I've encountered a strange problem. I try to temporary stop an MPEG 
datastream. That stoping should be frame accurate.

This appeared to be working perfectly, when i just stoped sending data 
to the driver. The picture freezes and comes back alive when i resume 
the datastream. No additional ioctl's are needed.

The only problem is: it doesn't stop on the last frame. It stop's some 
frames before that. The missing frames are actualy played, when i resume 
the datastream.

It would appear as if the driver internal buffers are only flushed after 
they have reached a certain fill-level.

During my further investigation, i stumbled accross the play_iframe() 
function, which apparently deals with the same problem. The I-frame is 
simply repeated n-times, so that the buffer contains 400kb of data, 
which will apparently then be flush.

I can't use play_iframe() since the last frame might not be an I-frame.

So my question is, how do i force the driver do flush it's current 
buffer content to the card?


Have fun

    Andreas



-- 
Info:
To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe linux-dvb" as 
subject.

Reply via email to