I would like there to be a possibility to be informed via a callback if a sink has not processed (rendered) any data for a certain time.
You could define the timeout yourself and a good default value would be 1 second.
With a return value of true the timeout would start again, with if there would be no further callbacks.
This would allow you to monitor your pipeline a little better, e.g. whether a UDP stream is still delivering meaningful data and whether it is actually being timed.
Or whether the decoder is crushed.
Or test cases can be written more easily.
I think that would probably be in the Basesink.
What do you think of the idea?