On Tue Apr 22 17:24:51 2025 +0000, Elizabeth Figura wrote:
Normally EOS is sent once all streams reach it. What's preventing that here? Looks like it's stuck in a `multiqueue`:
``` 0:00:25.705899699 234331 0x7fffa4001e80 LOG multiqueue gstmultiqueue.c:3249:single_queue_overrun_cb:<multiqueue1:queue_1> EOS 1, visible 60/62, bytes 142289/8388608, time 2000000000/0 0:00:25.710933936 234331 0x7fffa40019a0 DEBUG multiqueue gstmultiqueue.c:3369:single_queue_check_full:<multiqueue1:queue_1> visible 60/62, bytes 142289/8388608, time 2000000000/0 ``` These are the very last entries for `multiqueue1`. You can see that `EOS` is `1`, but there is also still `142289` bytes of data queued. The `EOS` is sent in-band, so all that pending data needs to cleared prior to delivery of the `eos`. However, because of the deadlock, the data (and thus the `EOS` event) are not moving. I've attached an image of the pipeline so you can see where `multiqueue1` exists.[0.00.03.764973074-wg_parser_caps.dot](/uploads/311fd6ab73121937aa507ed5961da6e7/0.00.03.764973074-wg_parser_caps.dot) -- https://gitlab.winehq.org/wine/wine/-/merge_requests/7824#note_101678