[PATCH v12 0/8] MR337: winepulse: Return device-specific values for GetMixFormat and GetDevicePeriod
Claire (@ClearlyClaire)
wine at gitlab.winehq.org
Wed Jul 6 01:48:21 CDT 2022
On Wed Jul 6 06:17:09 2022 +0000, Huw Davies wrote:
> It's definitely this patch that causes a regression for me.
> Specifically, removal of only the second `pulse_probe_settings()` call
> is enough to trigger it.
ok⦠that is definitely weird, and I'm not sure how that could happen. Are you using PulseAudio our pipewire-pulse? Could you apply something like the following and see if/how the output differs when doing the second `pulse_probe_settings` vs not doing it?
```patch
diff --git a/dlls/winepulse.drv/pulse.c b/dlls/winepulse.drv/pulse.c
index bd918b6f260..f3cf3a2c012 100644
--- a/dlls/winepulse.drv/pulse.c
+++ b/dlls/winepulse.drv/pulse.c
@@ -699,12 +699,20 @@ static void pulse_probe_settings(int render, const char *pulse_name, WAVEFORMATE
pa_stream_get_state(stream) == PA_STREAM_CREATING)
{}
if (pa_stream_get_state(stream) == PA_STREAM_READY) {
+ if (!pulse_name)
+ FIXME("Stream ready (render? %d): %s\n", render, pa_stream_get_device_name(stream));
ss = *pa_stream_get_sample_spec(stream);
map = *pa_stream_get_channel_map(stream);
if (render)
length = pa_stream_get_buffer_attr(stream)->minreq;
else
length = pa_stream_get_buffer_attr(stream)->fragsize;
+ if (!pulse_name) {
+ FIXME(" Sample format (size, rate, format): %ld, %u\n", pa_sample_size_of_format(ss.format), ss.rate);
+ FIXME(" Nb channels: %d\n", map.channels);
+ FIXME(" Period (bytes): %u\n", length);
+ FIXME(" Def period: %ld\n", pa_bytes_to_usec(10 * length, &ss));
+ }
pa_stream_disconnect(stream);
while (pa_mainloop_iterate(pulse_ml, 1, &ret) >= 0 &&
pa_stream_get_state(stream) == PA_STREAM_READY)
```
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/337#note_3422
More information about the wine-devel
mailing list