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
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.