GNOME Bugzilla – Bug 795374
pulsesrc fails to start up
Last modified: 2018-11-03 15:29:11 UTC
Using a Pidgin/Farstream pipeline I occasionally see pulsesrc failing to start up. It seems timing-related. 0:00:05.967852418 23118 0x2e41630 INFO basesrc gstbasesrc.c:2739:gst_base_src_loop:<pulsesrc0> pausing after gst_base_src_get_range() = flushing 0:00:05.967864004 23118 0x2e41630 INFO task gsttask.c:316:gst_task_func:<pulsesrc0:src> Task going to paused Working call log at http://david.woodhou.se/fscall-working and http://david.woodhou.se/fscall-working-graph.svg Failing call log at http://david.woodhou.se/fscall-silent and http://david.woodhou.se/fscall-silent-graph.svg In the working call, the first sample from pulsesrc seems to happen earlier, and it all works fine. In the failing call, we see the above messages. And nothing ever comes out of the pulsesrc again. <thaytan> dwmw2_gone, it's not trying to push the samples downstream yet then though - it's just trying to create the first buffer <thaytan> it doesn't get as far as trying to push it <thaytan> so seems more like a startup race in pulsesrc
By messing with Pidgin to not put the pulsesrc into PLAYING until later (on receiving farstream-recv-codecs-changed) I can make this happen all the time. Before that it was relatively hard to reproduce. Full log with GST_DEBUG=7 at http://david.woodhou.se/muted16 0:00:23.209854637 8114 0x2965b70 LOG basesrc gstbasesrc.c:2734:gst_base_src_loop:<pulsesrc0> next_ts 99:99:99.999999999 size 0 0:00:23.209862207 8114 0x2965b70 DEBUG basesrc gstbasesrc.c:2456:gst_base_src_get_range:<pulsesrc0> calling create offset 18446744073709551615 length 0, time 0 0:00:23.209871438 8114 0x2965b70 DEBUG audiobasesrc gstaudiobasesrc.c:1068:gst_audio_base_src_create:<pulsesrc0> ringbuffer in wrong state 0:00:23.209877934 8114 0x2965b70 DEBUG basesrc gstbasesrc.c:2568:gst_base_src_get_range:<pulsesrc0> create returned -2 (flushing) 0:00:23.209884720 8114 0x2965b70 INFO basesrc gstbasesrc.c:2739:gst_base_src_loop:<pulsesrc0> pausing after gst_base_src_get_range() = flushing 0:00:23.209891384 8114 0x2965b70 DEBUG basesrc gstbasesrc.c:2899:gst_base_src_loop:<pulsesrc0> pausing task, reason flushing 0:00:23.209898005 8114 0x2965b70 DEBUG GST_PADS gstpad.c:6027:gst_pad_pause_task:<pulsesrc0:src> pause task 0:00:23.209904400 8114 0x2965b70 DEBUG task gsttask.c:682:gst_task_set_state:<pulsesrc0:src> Changing task 0x29cb3b0 to state 2 0:00:23.209913514 8114 0x2965b70 INFO task gsttask.c:316:gst_task_func:<pulsesrc0:src> Task going to paused
My actual application code which is suffering this bug is public at last, so I also have a ticket filed there: https://github.com/awslabs/pidgin-chime/issues/20
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/466.