+ empathy_url_show (GTK_WIDGET (self), "help:empathy/audio-video");
+}
+
+static void
+show_png (GPid pid, gint status, gpointer user_data)
+{
+ gtk_show_uri (NULL, (gchar *) user_data, GDK_CURRENT_TIME, NULL);
+ g_spawn_close_pid (pid);
+ g_free (user_data);
+}
+
+static void
+empathy_call_window_debug_gst_cb (GtkAction *action,
+ EmpathyCallWindow *self)
+{
+ EmpathyCallWindowPriv *priv = GET_PRIV (self);
+ GDateTime *date_time;
+ GPid dot_pid;
+ const gchar *dot_dir;
+ const gchar *prgname;
+ gchar *dot_cmd;
+ gchar *filename;
+ gchar **argv;
+ gint argc;
+
+ if (priv->pipeline == NULL)
+ DEBUG ("No pipeline");
+
+ date_time = g_date_time_new_now_utc ();
+ prgname = g_get_prgname ();
+ filename = g_strdup_printf ("%s-%" G_GINT64_FORMAT, prgname,
+ g_date_time_to_unix (date_time));
+
+ GST_DEBUG_BIN_TO_DOT_FILE (GST_BIN (priv->pipeline),
+ GST_DEBUG_GRAPH_SHOW_ALL, filename);
+
+ dot_dir = g_getenv ("GST_DEBUG_DUMP_DOT_DIR");
+ dot_cmd = g_strdup_printf ("dot -Tpng -o %s.png %s.dot",
+ filename,
+ filename);
+ g_shell_parse_argv (dot_cmd, &argc, &argv, NULL);
+
+ if (g_spawn_async (dot_dir,
+ argv,
+ NULL,
+ G_SPAWN_DO_NOT_REAP_CHILD | G_SPAWN_SEARCH_PATH,
+ NULL,
+ NULL,
+ &dot_pid,
+ NULL))
+ {
+ gchar *uri = g_strdup_printf ("file://%s/%s.png", dot_dir, filename);
+ g_child_watch_add (dot_pid, show_png, uri);
+ }
+
+ g_strfreev (argv);
+ g_free (dot_cmd);
+ g_free (filename);
+ g_date_time_unref (date_time);