https://bugs.freedesktop.org/show_bug.cgi?id=99667

--- Comment #4 from Fabrice Bellet <[email protected]> ---
Thank you for your time of this case. With your suggestion, I confirm that
delaying the work from the notify callback of the gstreamer thread, so that it
happens in the glib mainloop thread instead, works for me and makes tsan happy:

> @@ -551,7 +554,13 @@ empathy_mic_monitor_get_current_mic_async 
> (EmpathyMicMonitor *self,
>    operation = operation_new (operation_get_current_mic, simple);
>    g_queue_push_tail (priv->operations, operation);
> 
> -  operations_run (self);
> +  /* we make sure this function containing pulseaudio operations is
> +   * called from the default mainloop, by the same thread than the
> +   * one running the pa_glib_mainloop. This is needed because PA
> +   * is not thread-safe. Other functions calling operations_run()
> +   * are called from the main thread, and don't need this indirection.
> +   */
> +  g_idle_add (operations_run, self);
>  }
> 
>  guint

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
_______________________________________________
pulseaudio-bugs mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-bugs

Reply via email to