diff options
Diffstat (limited to 'src/plugins/Output/alsa')
| -rw-r--r-- | src/plugins/Output/alsa/outputalsa.cpp | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/plugins/Output/alsa/outputalsa.cpp b/src/plugins/Output/alsa/outputalsa.cpp index ed150d1b7..453bcc1ea 100644 --- a/src/plugins/Output/alsa/outputalsa.cpp +++ b/src/plugins/Output/alsa/outputalsa.cpp @@ -485,15 +485,20 @@ void OutputALSA::setVolume(int l, int r) SND_MIXER_SCHN_FRONT_RIGHT, r); } -void OutputALSA::volume(int * l, int * r) +void OutputALSA::volume(int *l, int *r) { - if (!pcm_element) - return; - snd_mixer_handle_events(mixer); - snd_mixer_selem_get_playback_volume(pcm_element, - SND_MIXER_SCHN_FRONT_LEFT, (long int*)l); - snd_mixer_selem_get_playback_volume(pcm_element, - SND_MIXER_SCHN_FRONT_RIGHT, (long int*)r); + if (!pcm_element) + return; + + long ll = *l, lr = *r; + snd_mixer_handle_events(mixer); + snd_mixer_selem_get_playback_volume(pcm_element, + SND_MIXER_SCHN_FRONT_LEFT, &ll); + snd_mixer_selem_get_playback_volume(pcm_element, + SND_MIXER_SCHN_FRONT_RIGHT, &lr); + *l = ll; + *l = lr; + } int OutputALSA::getMixer(snd_mixer_t **mixer, QString card) |
