queue blocks on flush-start
I have a scenario with a dynamic pipeline, where I want to wake up a portion of a pipeline and disconnect it. To make that quicker, I push a flush-start event and catch it in a pad probe on the srcpad of a queue and drop it. The goal is to make everything upstream of that queue wake up, without disturbing the downstream portion.
The sinkpad handler for queue reacts to a flush-start event by forwarding (good) and then trying to stop the src pad task (bad). That means that when the flush-start event is dropped in the srcpad handler, the thread sending the event gets blocked indefinitely in the sink pad.
I need to think about this more, but filing this issue so I don't forget. I don't think it's as simple as saying that the queue should not wait on the srcpad task in this situation.