I hope this is the correct forum for this question...

I'm writing a video player using the xine library that streams data from a file to xine using a fifo.  All works well with setup/startup, but when I have sent the last block of data from a file, xine appears to hang up at something like 3 frames from the end with that frame still displayed (as though the engine is waiting for more data). 

In comparing my player to the muxine example player, when it reaches the EOF, the lib seems to "clean up" correctly... flushing all frames and sending XINE_EVENT_UI_PLAYBACK_FINISHED immediately.

In my player there is considerable delay before I do eventually receive XINE_EVENT_UI_PLAYBACK_FINISHED.

I have tried closing the fifo from the write end, but this does not seem to make any behavioral difference.

I would appreciate any help on getting xine-lib to recognize the end of data on a fifo.