[PATCH v12 0/8] MR337: winepulse: Return device-specific values for GetMixFormat and GetDevicePeriod
Claire (@ClearlyClaire)
wine at gitlab.winehq.org
Wed Jul 6 05:53:22 CDT 2022
On Wed Jul 6 06:50:31 2022 +0000, **** wrote:
> Marvin replied on the mailing list:
> ```
> Hi,
> It looks like your patch introduced the new failures shown below.
> Please investigate and fix them before resubmitting your patch.
> If they are not new, fixing them anyway would help a lot. Otherwise
> please ask for the known failures list to be updated.
> The full results can be found at:
> https://testbot.winehq.org/JobDetails.pl?Key=118336
> Your paranoid android.
> === debian11 (build log) ===
> ../wine/dlls/winepulse.drv/pulse.c:696:18: error: âpulse_nameâ
> undeclared (first use in this function); did you mean âpulse_fmtâ?
> Task: The win32 Wine build failed
> === debian11 (build log) ===
> ../wine/dlls/winepulse.drv/pulse.c:696:18: error: âpulse_nameâ
> undeclared (first use in this function); did you mean âpulse_fmtâ?
> Task: The wow64 Wine build failed
> ```
So, from your last comment, probing the default audio source (even when not doing anything with the resultâ¦) a first time before enumerating devices and probing the audio sinks works, but if the first probe of the default source happens after enumerating devices and probing the discovered sinks, it fails.
I cannot reproduce this issue, and I don't have a definite explanation on what may be going on.
My only guesses are that either the following happens:
1. probing sinks alters the way in which PulseAudio will subsequently chose a source when no device name is specified (the documentation states âName of the source to connect to, or NULL to let the server decideâ, it does not explain how PulseAudio selects the source, and https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/767 suggests it's more complicated)
2. probing one of the sinks causes subsequent issues when probing other devices, and the error handling is lacking
For these reasons, I have chosen to special-case the probing of the default sink and source to be performed before any enumeration and probing of other devices. I have also added error logging in case that change would obscure errors when probing other devices.
It may also make sense considering using the `@DEFAULT_SINK@` and `@DEFAULT_SOURCE` names instead of blank names, though this would require more investigation and if possible i would like to defer that to another PR.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/337#note_3437
More information about the wine-devel
mailing list