Mailing List archive

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

[linux-dvb] DVB buffer flushing ?




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 listar@linuxtv.org with "unsubscribe linux-dvb" as subject.


Home | Main Index | Thread Index