GNOME Bugzilla – Bug 686985
[pulsesrc] Assertion 'm' failed at pulse/thread-mainloop.c:166, function pa_threaded_mainloop_lock(). Aborting.
Last modified: 2012-10-30 23:29:13 UTC
Created attachment 227402 [details] test case I get this error if pulsesrc and then complete pipeline is set to NULL. See testapp in attachment.
Created attachment 227431 [details] [review] pulsesrc: don't assert in get_time() when called after shutdown Bail out if mainloop == NULL. If this is correct, even so without additional locking, I am not sure.
For what it's worth, the recommended use pattern is just - gst_element_send_event (pipeline, gst_event_eos ()); - wait for EOS message on pipeline bus - gst_element_set_state (pipeline, GST_STATE_NULL);
Well, it's better than crashing, and there isn't much locking in other places either, so: commit cd9706e9e94185d94d524b86552fe8613eb754fb Author: Tim-Philipp Müller <tim@centricular.net> Date: Sun Oct 28 00:07:46 2012 +0100 pulsesrc: don't assert in get_time() when called after shutdown Which might happen if the source gets set to NULL state before the rest of the pipeline. https://bugzilla.gnome.org/show_bug.cgi?id=686985