gstpipewirepool: can't change flushing state of inactive pool
I am coming here again because of a hardware dependent issue that has been really hard to fix. There is a long discussion in this link https://github.com/wwmm/pulseeffects/issues/898. Long story short in some systems PulseEffects GStreamer pipeline is randomly freezing when trying to enter in the playback state. That happens in my laptop while I have no issues at all in my desktop. I have been looking at GStreamer logs trying to find what could be the difference in these systems and so far there is only one thing that I see in the systems affected by random freezes that I do not see in my desktop:
gstbufferpool.c:1409:gst_buffer_poll_set_flushing:<pipewirepool1> can't change flushing state of inactive pool
These messages are shown when the pipeline is stopped. Not when the freezes happen. But it is strange that they are not present in the system where everything is fine.
When things work pipewiresink
logs show lines with both on_process: signal
calls and gst_pipewire_sink_render: push buffer
calls. But once the pipeline freezes trying to get to the playback state only the on_process: signal
lines are printed in pipewiresink
logs.
It seems to me that in the affected systems gst_pipewire_sink_render
is randomly not getting data from PipeWire. And as there is no buffer the pipeline does not finish its move to the playback state. What causes the freezing.