Hi Michael,

On  Fr 14 Mär 2014 06:24:58 CET, Michael DePaulo wrote:

After spending lots of time debugging this issue, largely involving
comparing the debug output from pulseaudio.exe, I believe I've
determined a simple fix.

I observed that if I create this directory ahead of time, the
pulseaudio.exe process launched by x2goclient.exe creates the "cookie"
file under it & stays running.
C:\Users\mike\.x2go\pulse\.config\pulse\

Therefore, I believe a simple fix for this bug is for x2goclient.exe,
regardless of what version of pulseaudio.exe is installed, to:
1. Create that directory (if it DNE).
2. Include logic around onmainwindow.cpp:5149 to use the cookie at
that path. If the cookie is not in that location, fall back to
".pulse-cookie". We already have this logic for Linux.

Gosh! Very good work!!! Let's go that approach.

I plan to write, test, and (hopefully) commit this fix tomorrow night.

Note that we cannot override the cookie location due to PulseAudio Bug 75006:
https://bugs.freedesktop.org/show_bug.cgi?id=75006

Note that although I am not sure why PulseAudio.exe is incapable of
creating this file when launched by x2goclient.exe, compared to when
it is launched by cmd.exe, I believe this is still safe approach to
solving the bug.
I say this because PulseAudio devs's comments & commit messages make
it clear that they support both the directory already existing, and
the directory not already existing.
For example:
http://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/src/pulsecore/authkey.c?id=a91359956f166005749247eaa5f4001a4555689d

Maybe the pulse directory does not get created because of .config being missing. The pulsecore/core-utils.c contains a function name pa_make_secure_dir which will create a directory for the pulse cookies, but it (AFAICT) assumes that the parent dir (.config) already exists.

It also may be that we don't set XDG variables not appropriately [1]. The pulseaudio patch you mention earlier [2] alludes that, too.

[1] http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
[2] http://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/?id=7fad67c46188991c04a42b190349ebb3f4a1756f

I guess assuring that the .config/pulse dir exists is a simple approach and we should go that instead of playing with XDG env vars (which are part of the freedesktop specs and X2Go Client is not about being compliant with freedesktop specs if run on Windows).

Greets,
Mike

--

DAS-NETZWERKTEAM
mike gabriel, herweg 7, 24357 fleckeby
fon: +49 (1520) 1976 148

GnuPG Key ID 0x25771B31
mail: mike.gabr...@das-netzwerkteam.de, http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb

Attachment: pgpBxJATaUkry.pgp
Description: Digitale PGP-Signatur

_______________________________________________
X2Go-Dev mailing list
X2Go-Dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/x2go-dev

Reply via email to