On 9/21/21 13:02, Zebediah Figura wrote:
- Rely on the fact that seek-data is sent during a seek, and use it
to effectively invalidate any buffers sent before the seek. Unlike the aforementioned problem with validation, this will actually work: at the time that seek-data is sent appsrc should be flushing, so any buffers we send before it will be discarded by appsrc, and any buffers we send afterward can be discarded by us if they aren't valid. This is very fragile, though. There's really no reason for appsrc to send seek-data for random-access streams in the first place, and this kind of synchronization is easy to get wrong if I haven't already.
This sounds like the best way forward in my opinion, how is it fragile? It seems that if we just ensure that a pushed buffer takes into account the latest seek/need data pair, not much can go wrong.