[PATCH v4 0/3] MR337: winepulse: Return device-specific values for GetMixFormat and GetDevicePeriod

Huw Davies (@huw) wine at gitlab.winehq.org
Mon Jul 4 05:20:12 CDT 2022


Huw Davies (@huw) commented about dlls/winepulse.drv/pulse.c:
>          fmt->SubFormat = KSDATAFORMAT_SUBTYPE_PCM;
>  }
>  
> +static NTSTATUS pulse_get_device_settings(void *args)
> +{
> +    struct get_device_settings_params *params = args;
> +    struct pulse_config *config = params->config;
> +    struct list *list = params->render ? &g_phys_speakers : &g_phys_sources;
> +    PhysDevice *dev;
> +
As mentioned, please add a `get_mix_format` unixcall that follows the example of the alsa driver.

You'll then need to create a `get_device_periord` unixcall for `GetDevicePeriod()`.  This isn't
implemented in any of the drivers; I'd suggest a params struct like this
```c
struct get_device_period_marams
{
    const char *pulse_name;
    HRESULT result;
    REFERENCE_TIME *def_period;
    REFERENCE_TIME *min_period;
};
```

-- 
https://gitlab.winehq.org/wine/wine/-/merge_requests/337#note_3195



More information about the wine-devel mailing list