mirror of
https://github.com/mpv-player/mpv
synced 2025-02-19 14:26:57 +00:00
mixer: minor simplification
(Why is this code so complex?)
This commit is contained in:
parent
3d12312806
commit
67a4892ee3
@ -120,8 +120,11 @@ void mixer_getvolume(struct mixer *mixer, float *l, float *r)
|
|||||||
*r = mixer->vol_r;
|
*r = mixer->vol_r;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void setvolume_internal(struct mixer *mixer, float l, float r)
|
static void setvolume_internal(struct mixer *mixer)
|
||||||
{
|
{
|
||||||
|
float l = mixer->vol_l, r = mixer->vol_r;
|
||||||
|
if (mixer->emulate_mute && mixer->muted)
|
||||||
|
l = r = 0;
|
||||||
if (!mixer->softvol) {
|
if (!mixer->softvol) {
|
||||||
MP_DBG(mixer, "Setting volume on AO.\n");
|
MP_DBG(mixer, "Setting volume on AO.\n");
|
||||||
struct ao_control_vol vol = {.left = l, .right = r};
|
struct ao_control_vol vol = {.left = l, .right = r};
|
||||||
@ -147,8 +150,8 @@ void mixer_setvolume(struct mixer *mixer, float l, float r)
|
|||||||
float max = mixer_getmaxvolume(mixer);
|
float max = mixer_getmaxvolume(mixer);
|
||||||
mixer->vol_l = MPCLAMP(l, 0, max);
|
mixer->vol_l = MPCLAMP(l, 0, max);
|
||||||
mixer->vol_r = MPCLAMP(r, 0, max);
|
mixer->vol_r = MPCLAMP(r, 0, max);
|
||||||
if (mixer->ao && !(mixer->emulate_mute && mixer->muted))
|
if (mixer->ao)
|
||||||
setvolume_internal(mixer, mixer->vol_l, mixer->vol_r);
|
setvolume_internal(mixer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void mixer_getbothvolume(struct mixer *mixer, float *b)
|
void mixer_getbothvolume(struct mixer *mixer, float *b)
|
||||||
@ -167,7 +170,7 @@ void mixer_setmute(struct mixer *mixer, bool mute)
|
|||||||
mixer->muted = mute;
|
mixer->muted = mute;
|
||||||
mixer->muted_by_us = mute;
|
mixer->muted_by_us = mute;
|
||||||
if (mixer->emulate_mute) {
|
if (mixer->emulate_mute) {
|
||||||
setvolume_internal(mixer, mixer->vol_l*!mute, mixer->vol_r*!mute);
|
setvolume_internal(mixer);
|
||||||
} else {
|
} else {
|
||||||
ao_control(mixer->ao, AOCONTROL_SET_MUTE, &mute);
|
ao_control(mixer->ao, AOCONTROL_SET_MUTE, &mute);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user