mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 01:03:55 -06:00
audio: support more than two channels in volume setting
Signed-off-by: Kővágó, Zoltán <DirtY.iCE.hu@gmail.com> Message-id: 5d3dd2ee3baaa62805e79c3901abb7415ae32461.1570996490.git.DirtY.iCE.hu@gmail.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
337e8de6fb
commit
cecc1e79bf
5 changed files with 54 additions and 24 deletions
|
@ -532,20 +532,22 @@ static void qpa_fini_in (HWVoiceIn *hw)
|
|||
}
|
||||
}
|
||||
|
||||
static void qpa_volume_out(HWVoiceOut *hw, struct mixeng_volume *vol)
|
||||
static void qpa_volume_out(HWVoiceOut *hw, Volume *vol)
|
||||
{
|
||||
PAVoiceOut *pa = (PAVoiceOut *) hw;
|
||||
pa_operation *op;
|
||||
pa_cvolume v;
|
||||
PAConnection *c = pa->g->conn;
|
||||
int i;
|
||||
|
||||
#ifdef PA_CHECK_VERSION /* macro is present in 0.9.16+ */
|
||||
pa_cvolume_init (&v); /* function is present in 0.9.13+ */
|
||||
#endif
|
||||
|
||||
v.channels = 2;
|
||||
v.values[0] = ((PA_VOLUME_NORM - PA_VOLUME_MUTED) * vol->l) / UINT32_MAX;
|
||||
v.values[1] = ((PA_VOLUME_NORM - PA_VOLUME_MUTED) * vol->r) / UINT32_MAX;
|
||||
v.channels = vol->channels;
|
||||
for (i = 0; i < vol->channels; ++i) {
|
||||
v.values[i] = ((PA_VOLUME_NORM - PA_VOLUME_MUTED) * vol->vol[i]) / 255;
|
||||
}
|
||||
|
||||
pa_threaded_mainloop_lock(c->mainloop);
|
||||
|
||||
|
@ -572,20 +574,22 @@ static void qpa_volume_out(HWVoiceOut *hw, struct mixeng_volume *vol)
|
|||
pa_threaded_mainloop_unlock(c->mainloop);
|
||||
}
|
||||
|
||||
static void qpa_volume_in(HWVoiceIn *hw, struct mixeng_volume *vol)
|
||||
static void qpa_volume_in(HWVoiceIn *hw, Volume *vol)
|
||||
{
|
||||
PAVoiceIn *pa = (PAVoiceIn *) hw;
|
||||
pa_operation *op;
|
||||
pa_cvolume v;
|
||||
PAConnection *c = pa->g->conn;
|
||||
int i;
|
||||
|
||||
#ifdef PA_CHECK_VERSION
|
||||
pa_cvolume_init (&v);
|
||||
#endif
|
||||
|
||||
v.channels = 2;
|
||||
v.values[0] = ((PA_VOLUME_NORM - PA_VOLUME_MUTED) * vol->l) / UINT32_MAX;
|
||||
v.values[1] = ((PA_VOLUME_NORM - PA_VOLUME_MUTED) * vol->r) / UINT32_MAX;
|
||||
v.channels = vol->channels;
|
||||
for (i = 0; i < vol->channels; ++i) {
|
||||
v.values[i] = ((PA_VOLUME_NORM - PA_VOLUME_MUTED) * vol->vol[i]) / 255;
|
||||
}
|
||||
|
||||
pa_threaded_mainloop_lock(c->mainloop);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue