basesrc: events don't get pushed if basesrc has no pending buffers to send
@eocanha
Submitted by Enrique Ocaña González Link to original bug (#752815)
Description
Use case:
In some later stage of the pipeline I want to detect when an append has been fully processed. Timeouts aren't a very robust solution, and EOS isn't an alternative either (I don't want to reset the pipeline). The best alternative is to send a custom downstream event after the append, signaling that no more data will be fed by now. That event will be detected by a probe later in the pipeline.
Problem:
However, basesrc doesn't emit the custom event until a new chunk of data is appended after the event (but I don't want to do that). The primary reason for not emitting the event is that gst_base_src_loop() is stalled waiting for new buffers in a call to gst_base_src_getrange().