mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-02 16:43:38 +00:00
winealsa: Make sure we can set volume before reporting WAVECAPS_VOLUME.
This commit is contained in:
parent
f2fc4d3a0f
commit
edff53387a
|
@ -307,10 +307,22 @@ static int ALSA_ComputeCaps(snd_ctl_t *ctl, snd_pcm_t *pcm,
|
|||
|
||||
/* check for volume control support */
|
||||
if (ctl) {
|
||||
*supports |= WAVECAPS_VOLUME;
|
||||
|
||||
if (chmin <= 2 && 2 <= chmax)
|
||||
*supports |= WAVECAPS_LRVOLUME;
|
||||
if (snd_ctl_name(ctl))
|
||||
{
|
||||
snd_hctl_t *hctl;
|
||||
if (snd_hctl_open(&hctl, snd_ctl_name(ctl), 0) >= 0)
|
||||
{
|
||||
snd_hctl_load(hctl);
|
||||
if (!ALSA_CheckSetVolume( hctl, NULL, NULL, NULL, NULL, NULL, NULL, NULL ))
|
||||
{
|
||||
*supports |= WAVECAPS_VOLUME;
|
||||
if (chmin <= 2 && 2 <= chmax)
|
||||
*supports |= WAVECAPS_LRVOLUME;
|
||||
}
|
||||
snd_hctl_free(hctl);
|
||||
snd_hctl_close(hctl);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (*formats & (WAVE_FORMAT_1M08 | WAVE_FORMAT_2M08 |
|
||||
|
|
Loading…
Reference in a new issue