DVD still frames need a way to never be dropped by QOS
Submitted by Jan Schmidt
If playback is running late (because things are slow coming off the disc, or any of the usual CPU-busy reasons) then DVD still frames can get dropped - and the presentation will pause and show whichever was the last frame to make it to the DVD SPU, making menus look weird (button highlights on some random intro frame).
To fix it, I think we need a buffer flag 'GST_BUFFER_FLAG_NOT_DROPPABLE' that can be set on a frame by the MPEG decoder. I think (from memory, may be wrong) it is required that all still frames be an I frame followed by an END packet, so an MPEG decoder could store a ref to the most recent keyframe, and output the frame when seeing an inbound still frame event, setting the NOT_DROPPABLE flag. I think it would have to do this unconditionally though, as downstream elements (might have dropped the frame).
Alternatively, the MPEG decoder could always set the NOT_DROPPABLE frame on outbound keyframes.