Huw Davies (@huw) commented about dlls/mmdevapi/client.c:
- if (FAILED(hr = main_loop_start())) {
sessions_unlock();
return hr;
- }
- channel_count = fmt->nChannels;
- params.name = name = get_application_name();
- params.device = This->device_name;
- params.flow = This->dataflow;
- params.share = mode;
- params.flags = flags;
- params.duration = duration;
- params.period = period;
- params.fmt = fmt;
- params.channel_count = &channel_count;
All of the other drivers handle `channel_count` somewhat differently, so that'll need to be reconcilled first.
Also, the control flow below is rather different to the other drivers, so it would good to move the other drivers to look like this (i.e. remove the `goto exit`) before the commits that move the implementations to `mmdevapi`.