Greetings Huw,
Been following your winealsa work and I'm pretty hyped about this commit - mmdev is finally alsa-free \o/
Have you considered splitting the props handling - get_device_path, get_physical_speakers? AFAICT this should reduce the duplication on the unix side (alsa vs pulse vs others). More importantly it makes it easier to avoid the caller allocated string, by passing the vendor/device/other data directly.
What are your thoughts on having a single mmdev.drv, which calls into winealsa.drv/winepulse.drv/other? Are wineandroid/mmdev, winecoreaudio and wineoss in scope in the mid/long run?
Thanks in advance, Emil