LCookie *cookie = (QXLCookie*)cookie_token;
> +
> + switch (cookie->type) {
We still have spice_qxl_flush_surfaces_async(&qxl->ssd.qxl, 0);
So cookie might be NULL in this case.
--
Marc-André Lureau
ie->data = data;
> + return cookie;
> +}
I don't know if it's prohibited in qemu code, but g_slice would be a
good fit here: frequently allocated bits of same size.
--
Marc-André Lureau
Make the CharDriverState creation code reusable by spicevmc port.
---
spice-qemu-char.c | 37 +++--
1 file changed, 23 insertions(+), 14 deletions(-)
diff --git a/spice-qemu-char.c b/spice-qemu-char.c
index 665efd3..b86e83a 100644
--- a/spice-qemu-char.c
+++ b/spic
---
spice-qemu-char.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/spice-qemu-char.c b/spice-qemu-char.c
index 4be75ba..4eb85ae 100644
--- a/spice-qemu-char.c
+++ b/spice-qemu-char.c
@@ -24,8 +24,12 @@ typedef struct SpiceCharDriver {
uint8_t *datapos;
ssize_t
Do the delayed registration of spicevmc ports after Spice server is
initialized.
---
spice-qemu-char.c | 12
ui/qemu-spice.h | 1 +
ui/spice-core.c | 4
3 files changed, 17 insertions(+)
diff --git a/spice-qemu-char.c b/spice-qemu-char.c
index 4eb85ae..b2586c2 100644
--- a
The current code waits until the chardev can read MIN(len, VMC_MAX)
But some chardev may never reach than amount, in fact some of them
will only ever accept write of 1. Fix the min computation and remove
the VMC_MAX constant.
---
spice-qemu-char.c | 6 ++
1 file changed, 2 insertions(+), 4 del
Add a new spice chardev to allow arbitrary communication between the
host and the Spice client via the spice server.
Examples:
This allows the Spice client to have a special port for the qemu
monitor:
... -chardev spiceport,name=org.qemu.monitor,id=monitorport
-mon chardev=monitorport
v2:
-
Start a simple org.qemu.* registry of well known name.
---
docs/spice-port-fqdn.txt | 19 +++
1 file changed, 19 insertions(+)
create mode 100644 docs/spice-port-fqdn.txt
diff --git a/docs/spice-port-fqdn.txt b/docs/spice-port-fqdn.txt
new file mode 100644
index 000..5077895
vscclient needs to call socket_init() for portability.
Moving to osdep.c since it has no internal dependency.
Signed-off-by: Marc-André Lureau
---
util/osdep.c| 23 +++
util/qemu-sockets.c | 24
2 files changed, 23 insertions(+), 24 deletions
From: Marc-André Lureau
It is needed to give that flag to the linker as well, but latest
libtool 2.4.2 still swallows that argument, so let's pass it with
libtool -Wc argument.
qemu-1.4.0/stubs/arch-query-cpu-def.c:6: undefined reference to
`__stack_chk_guard'
Signed-off-by: Marc-An
From: Marc-André Lureau
Compile and link with version.lo
Signed-off-by: Marc-André Lureau
---
Makefile | 8 ++--
rules.mak | 2 +-
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
index 2262410..5f0ded1 100644
--- a/Makefile
+++ b/Makefile
@@ -148,11
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
---
libcacard/vscclient.c | 374 ++
1 file changed, 198 insertions(+), 176 deletions(-)
diff --git a/libcacard/vscclient.c b/libcacard/vscclient.c
index 9b744f2..ad2ffd1 100644
--- a
From: Marc-André Lureau
It is needed to give that flag to the linker as well, but latest
libtool 2.4.2 still swallows that argument, so let's pass it with
libtool -Wc argument.
qemu-1.4.0/stubs/arch-query-cpu-def.c:6: undefined reference to
`__stack_chk_guard'
Signed-off-by: Marc-An
From: Marc-André Lureau
Compile and link with version.lo
Signed-off-by: Marc-André Lureau
---
Makefile | 8 ++--
rules.mak | 3 ++-
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
index 2262410..5f0ded1 100644
--- a/Makefile
+++ b/Makefile
@@ -148,11
From: Marc-André Lureau
vscclient needs to call socket_init() for portability.
Moving to osdep.c since it has no internal dependency.
Signed-off-by: Marc-André Lureau
---
util/osdep.c| 23 +++
util/qemu-sockets.c | 24
2 files changed, 23
It is needed to give that flag to the linker as well, but latest
libtool 2.4.2 still swallows that argument, so let's pass it with
libtool -Wc argument.
qemu-1.4.0/stubs/arch-query-cpu-def.c:6: undefined reference to
`__stack_chk_guard'
Signed-off-by: Marc-André Lureau
---
con
From: Marc-André Lureau
---
libcacard/vscclient.c | 9 ++---
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/libcacard/vscclient.c b/libcacard/vscclient.c
index 5e00db3..5f47634 100644
--- a/libcacard/vscclient.c
+++ b/libcacard/vscclient.c
@@ -218,8 +218,7 @@ on_host_init
This version handles non-blocking sending and receiving from the
socket.
Signed-off-by: Marc-André Lureau
---
libcacard/vscclient.c | 391 +++---
1 file changed, 246 insertions(+), 145 deletions(-)
diff --git a/libcacard/vscclient.c b/libcacard
self nack, it fails to link without libtool
Compile and link with version.lo
Signed-off-by: Marc-André Lureau
---
Makefile | 8 ++--
rules.mak | 3 ++-
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
index 2262410..5f0ded1 100644
--- a/Makefile
+++ b/Makefile
@@ -148,11 +148,15 @@ recurse-all
From: Marc-André Lureau
---
libcacard/vscclient.c | 314 ++
1 file changed, 162 insertions(+), 152 deletions(-)
diff --git a/libcacard/vscclient.c b/libcacard/vscclient.c
index 9b744f2..5e00db3 100644
--- a/libcacard/vscclient.c
+++ b/libcacard
- Mensaje original -
> Il 25/02/2013 18:56, Marc-André Lureau ha scritto:
> > LINK = $(call quiet-command,\
> > $(if $(filter %.lo %.la,$^),$(LIBTOOL) --mode=link --tag=CC
> > \
> > )$(CC) $(QEMU_CFLAGS) $(CFLAGS) $(LDFLAGS) $(L
ping
On Mon, Jan 14, 2013 at 5:18 PM, Marc-André Lureau
wrote:
> ping
>
> On Sun, Dec 2, 2012 at 10:00 PM, Marc-André Lureau
> wrote:
>> The VCARD_ATR_PREFIX macro adds a prefix of 6 characters only.
>>
>> pcsc_scan was complaining before the patch:
>>
>
It's a bit nicer to look for default database under
CSIDL_COMMON_APPDATA\pki\nss rather that /etc/pki/nss.
Signed-off-by: Marc-André Lureau
---
libcacard/vcard_emul_nss.c | 18 +-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/libcacard/vcard_emul_ns
9-cacert-file");
> if (str) {
> x509_cacert_file = g_strdup(str);
> } else {
> -x509_cacert_file = g_malloc(len);
> -snprintf(x509_cacert_file, len, "%s/%s", x509_dir,
> X509_CA_CERT_FILE);
> +x509_cacert_file = g_strdup_printf("%s/%s", x509_dir,
> X509_CA_CERT_FILE);
> }
>
> x509_key_password = qemu_opt_get(opts, "x509-key-password");
> --
> 1.8.3.1
>
>
--
Marc-André Lureau
st
> libcacard: correct T0 historical bytes size
>
>
The patch series doesn't do what you describe. Many patches are missing
from the v1:
http://lists.nongnu.org/archive/html/qemu-devel/2013-03/msg02925.html
--
Marc-André Lureau
Reviewed-by: Marc-André Lureau
Xorg server hangs when using xfig and typing a text with space:
#0 qxl_wait_for_io_command (qxl=) at qxl_io.c:47
#1 0x7f826a49a299 in qxl_download_box (surface=0x221d030, x1=231, y1=259,
x2=, y2=) at qxl_surface.c:143
while (!(ram_header->int_pending & QXL_INTERRUPT_IO_CMD))
The spice server is polling on write, unless
SPICE_CHAR_DEVICE_NOTIFY_WRITABLE flag is set. In this case, qemu must
call spice_server_char_device_wakeup() when the frontend is writable.
Signed-off-by: Marc-André Lureau
---
spice-qemu-char.c | 11 +++
1 file changed, 11 insertions
When the virtio serial is writable, notify the chardev backend
with qemu_chr_accept_input().
Signed-off-by: Marc-André Lureau
---
Note:
This patch depends on Amit Shah patch:
"virtio: serial: expose a 'guest_writable' callback for users"
hw/char/virtio-console.c | 1
ite try (I didn't see
the need to create a new function to do only read or write, both should be
fine)
--
Marc-André Lureau
t would be great to get your reviewed-by to my patch in case
> everything's fine.
>
> Peter has asked me to update the comments on my patch; I'll fix that
> up right away since this showed up.
>
Sure, I'll wait for next updated patch then.
--
Marc-André Lureau
Reviewed-by: Marc-André Lureau
I have a somewhat related question, that perhaps someone may help me with:
Why isn't the qemu char driver/device interface based (for most devices)
on socketpair (and equivalent bi-directional pipe on other OS).
It looks to me like it could simplify API and
It seems "name" is not mandatory, and the following command line (based
on one generated by current libvirt) will crash qemu at start:
qemu-system-x86_64 \
-device virtio-serial-pci \
-device virtserialport,name=foo \
-device virtconsole
Program received signal SIGSEGV, Segmentation f
Don't call SPICE API directly to set password given in command line, but
use the internal API, saving password for later calls.
This solves losing password when changing expiration in qemu monitor.
https://bugzilla.redhat.com/show_bug.cgi?id=1138639
---
ui/spice-core.c | 2 +-
1 file changed, 1
with a simple check solves the issue,
but I am not sure qemu or the spice code handles the rest fine. What were
you trying to achieve?
cheers
--
Marc-André Lureau
Add a new PCM control operation to update the stream volume on the
audio backend. The argument given is a SWVoiceOut/SWVoiceIn.
---
audio/audio.c | 12
audio/audio_int.h |1 +
2 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/audio/audio.c b/audio/audio.c
inde
If the audio backend is capable of volume control, don't apply
software volume (mixeng_volume ()), but instead, rely on backend
volume control. This will allow guest to have full range volume
control.
---
audio/audio.c |9 +++--
audio/audio_int.h |5 +
audio/audio_tem
That code doesn't compile. The interesting bits for volume control are
going to be rewritten in the following patch.
---
hw/ac97.c | 121 -
1 files changed, 0 insertions(+), 121 deletions(-)
diff --git a/hw/ac97.c b/hw/ac97.c
index c0fd
---
configure |6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/configure b/configure
index 39d2b54..160bf63 100755
--- a/configure
+++ b/configure
@@ -1842,9 +1842,9 @@ for drv in $audio_drv_list; do
;;
pa)
-audio_drv_probe $drv pulse/simple.h "-lpulse-
On Mon, Mar 12, 2012 at 7:53 PM, Anthony Liguori wrote:
> Why not just return the screendump through QMP?
in base64, base85?
--
Marc-André Lureau
Without MIXEMU, volume control on the guest doesn't work (except when
volume is applied by guest "emulation", in Win7 for example).
Instead rely on backend volume support, or fallback on mixeng if
backend doesn't support volume control.
---
audio/mixeng.c |6 --
configure |8
It's a case by case (see Table 66. AC ‘97 Baseline Audio Register Map)
---
hw/ac97.c |1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/hw/ac97.c b/hw/ac97.c
index f2804e6..f7866ed 100644
--- a/hw/ac97.c
+++ b/hw/ac97.c
@@ -118,7 +118,6 @@ enum {
#define EACS_VRA 1
#define
It's more appropriate to set the maximum value into a fitting integer.
---
audio/audio.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/audio/audio.c b/audio/audio.c
index bd9237e..06c2384 100644
--- a/audio/audio.c
+++ b/audio/audio.c
@@ -110,8 +110,8 @@ const struct
Use Spice server volume control API when available.
---
audio/spiceaudio.c | 41 +
1 files changed, 41 insertions(+), 0 deletions(-)
diff --git a/audio/spiceaudio.c b/audio/spiceaudio.c
index f972110..92964ae 100644
--- a/audio/spiceaudio.c
+++ b/audio/sp
ly jpeg) and scaling.
--
Marc-André Lureau
= strtol(p, NULL, 0);
+f = qemu_fdopen(fd, mode);
--
Marc-André Lureau
---
audio/paaudio.c | 96 ---
1 files changed, 91 insertions(+), 5 deletions(-)
diff --git a/audio/paaudio.c b/audio/paaudio.c
index beed434..7ddc16d 100644
--- a/audio/paaudio.c
+++ b/audio/paaudio.c
@@ -664,15 +664,100 @@ static void qpa_fin
Combine output volume with Master and PCM registers values.
Use default values in mixer_reset ().
Set volume on post-load to update backend values.
---
hw/ac97.c | 79 +
1 files changed, 79 insertions(+), 0 deletions(-)
diff --git a/hw
Unfortunately, pa_simple is a limited API which doesn't let us
retrieve the associated pa_stream. It is needed to control the volume
of the stream.
---
audio/paaudio.c | 356 +--
1 files changed, 318 insertions(+), 38 deletions(-)
diff --git a/
quick discussion with upstream).
Marc-André Lureau (11):
audio: add VOICE_VOLUME ctl
audio: don't apply volume effect if backend has VOICE_VOLUME_CAP
audio: use a nominal volume of UINT_MAX
hw/ac97: remove USE_MIXER code
hw/ac97: the volume mask is not only 0x1f
hw/ac97: add s
er.
So what I meant is rather G_MAXUINT32.
--
Marc-André Lureau
behaviour by default?
cheers
--
Marc-André Lureau
INT? I must be missing something. Hardware range for example is
usually 0...2^nbits-1
--
Marc-André Lureau
;>
>> So you mean the last patch shouldn't be applied? Can you explain the
>> rationale? Why would we want broken behaviour by default?
>>
>
> Because i hate change.
I do to, except when they fix broken behaviour. More seriously, do you
have other concerns with the mixemu code?
--
Marc-André Lureau
o it is simpler to stay within the range
of an integer..
--
Marc-André Lureau
hw volume range is within a uint8 [0..2^8-1] that is then
scaled into a [0..2^32], it would be easier to stay within a
[0..2^n-1] range all the way.
--
Marc-André Lureau
.r = 1ULL << 32,
.l = 1ULL << 32,
#endif
};
--
Marc-André Lureau
On Mon, Mar 12, 2012 at 11:52 PM, malc wrote:
> 1 << 32 = 1.0 in 64(32.32) fixed point... the type of l/r is int64_t
Ok, I'll leave it as is then if it is on purpose.
--
Marc-André Lureau
patch #4 only remove dead code (USE_MIXER wasn't
enabled by mixemu).
Making mixemu a runtime option sounds good to me.
--
Marc-André Lureau
Hi
- Mensaje original -
> Yeah it wants png, jpeg, tiff. What I'm concerned about is that QEMU
> should be doing emulation/virtualization, not processing images for
> an
> end-user. Its main loop is not structured to do utility tasks
> unrelated to running the guest. If implemented prop
quick discussion with upstream).
v4:
- code style fixes (only warnings left - mostly spaces)
- dropped the 1 << 32 -1 change
- added QEMU_MIXEMU runtime option, enabled by default
- rfc: removed some deprecated audio options
Marc-André Lureau (11):
audio: add VOICE_VOLUME ctl
audio: don
That code doesn't compile. The interesting bits for volume control are
going to be rewritten in the following patch.
Signed-off-by: Marc-André Lureau
---
hw/ac97.c | 121 -
1 files changed, 0 insertions(+), 121 deletions(-)
If the audio backend is capable of volume control, don't apply
software volume (mixeng_volume ()), but instead, rely on backend
volume control. This will allow guest to have full range volume
control.
Signed-off-by: Marc-André Lureau
---
audio/audio.c |9 +++--
Add a new PCM control operation to update the stream volume on the
audio backend. The argument given is a SWVoiceOut/SWVoiceIn.
v4:
- verified other backends didn't fail/assert on this new control
they randomly return 0 or -1, but we ignore return value.
Signed-off-by: Marc-André L
- period seems to be unused now
- plive is very obscure and should either be documented or perhaps removed
Signed-off-by: Marc-André Lureau
---
audio/audio.c | 35 ---
audio/audio_template.h | 26 --
2 files changed, 0
Signed-off-by: Marc-André Lureau
---
configure |6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/configure b/configure
index 39d2b54..160bf63 100755
--- a/configure
+++ b/configure
@@ -1842,9 +1842,9 @@ for drv in $audio_drv_list; do
;;
pa
Unfortunately, pa_simple is a limited API which doesn't let us
retrieve the associated pa_stream. It is needed to control the volume
of the stream.
In v4:
- add missing braces
Signed-off-by: Marc-André Lureau
---
audio/paaudio.c | 377 +
It's a case by case (see Table 66. AC ‘97 Baseline Audio Register Map)
Signed-off-by: Marc-André Lureau
---
hw/ac97.c |1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/hw/ac97.c b/hw/ac97.c
index f2804e6..f7866ed 100644
--- a/hw/ac97.c
+++ b/hw/ac97.c
@@ -118,7 +
(vol & mask)) / mask;
>> + *lvol = (255 * ((vol >> 8) & mask)) / mask;
>> + if (inverse) {
>> + *rvol = 255 - *rvol;
>> + *lvol = 255 - *lvol;
>
> Here.
>
> [..snip..]
checkpatch doesn't complain here, I only get 30 warnings:
WARNING: space prohibited between function name and open parenthesis '('
which seems to be the code style in audio/
thanks
--
Marc-André Lureau
Use Spice server volume control API when available.
Signed-off-by: Marc-André Lureau
---
audio/spiceaudio.c | 41 +
1 files changed, 41 insertions(+), 0 deletions(-)
diff --git a/audio/spiceaudio.c b/audio/spiceaudio.c
index f972110..6f15591 100644
On Tue, Mar 13, 2012 at 5:07 PM, malc wrote:
> That's right. But the whole get_volume function is indented with 2
> instead of 4 spaces.
fixed! thanks
--
Marc-André Lureau
Combine output volume with Master and PCM registers values.
Use default values in mixer_reset ().
Set volume on post-load to update backend values.
v4:
- fix some code style
Signed-off-by: Marc-André Lureau
---
hw/ac97.c | 80 +
1
Signed-off-by: Marc-André Lureau
---
audio/paaudio.c | 99 ---
1 files changed, 94 insertions(+), 5 deletions(-)
diff --git a/audio/paaudio.c b/audio/paaudio.c
index 6f50c1c..e6708d0 100644
--- a/audio/paaudio.c
+++ b/audio/paaudio.c
IXEMU=0.
Signed-off-by: Marc-André Lureau
---
audio/audio.c | 10 +-
audio/mixeng.c |6 --
configure |8
hw/hda-audio.c |4
4 files changed, 9 insertions(+), 19 deletions(-)
diff --git a/audio/audio.c b/audio/audio.c
index bd9237e..bb94133 100644
cy should depend on
the configured device buffering/latency, not on an environment tweak.
regards
--
Marc-André Lureau
Hi
> Guest interfacing is next to impossible I think, simply because real
> hardware has no need for that and thus the interfaces simply don't
> exist
> in the hardware we are emulating. We can try to fix that with a
> virtio
> soundcard which has such interfaces, but it could be this simply
> sh
quick discussion with upstream).
v5:
- code style fixes (spaces)
- left out from patch series the RFC "remove PLIVE and PERIOD options"
Marc-André Lureau (10):
audio: add VOICE_VOLUME ctl
audio: don't apply volume effect if backend has VOICE_VOLUME_CAP
hw/ac97: remove USE_MIXER
Signed-off-by: Marc-André Lureau
---
configure |6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/configure b/configure
index 8b4e3c1..907a655 100755
--- a/configure
+++ b/configure
@@ -1847,9 +1847,9 @@ for drv in $audio_drv_list; do
;;
pa
Signed-off-by: Marc-André Lureau
---
audio/paaudio.c | 99 ---
1 files changed, 94 insertions(+), 5 deletions(-)
diff --git a/audio/paaudio.c b/audio/paaudio.c
index 6f50c1c..e6708d0 100644
--- a/audio/paaudio.c
+++ b/audio/paaudio.c
IXEMU=0.
Signed-off-by: Marc-André Lureau
---
audio/audio.c | 10 +-
audio/mixeng.c |6 --
configure |8
hw/hda-audio.c |4
4 files changed, 9 insertions(+), 19 deletions(-)
diff --git a/audio/audio.c b/audio/audio.c
index bd9237e..bb94133 100644
Use Spice server volume control API when available.
Signed-off-by: Marc-André Lureau
---
audio/spiceaudio.c | 41 +
1 files changed, 41 insertions(+), 0 deletions(-)
diff --git a/audio/spiceaudio.c b/audio/spiceaudio.c
index f972110..6f15591 100644
If the audio backend is capable of volume control, don't apply
software volume (mixeng_volume ()), but instead, rely on backend
volume control. This will allow guest to have full range volume
control.
Signed-off-by: Marc-André Lureau
---
audio/audio.c |9 +++--
Combine output volume with Master and PCM registers values.
Use default values in mixer_reset ().
Set volume on post-load to update backend values.
v4,v5:
- fix some code style
Signed-off-by: Marc-André Lureau
---
hw/ac97.c | 81
That code doesn't compile. The interesting bits for volume control are
going to be rewritten in the following patch.
Signed-off-by: Marc-André Lureau
---
hw/ac97.c | 121 -
1 files changed, 0 insertions(+), 121 deletions(-)
Add a new PCM control operation to update the stream volume on the
audio backend. The argument given is a SWVoiceOut/SWVoiceIn.
v4:
- verified other backends didn't fail/assert on this new control
they randomly return 0 or -1, but we ignore return value.
Signed-off-by: Marc-André L
It's a case by case (see Table 66. AC ‘97 Baseline Audio Register Map)
Signed-off-by: Marc-André Lureau
---
hw/ac97.c |1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/hw/ac97.c b/hw/ac97.c
index f2804e6..f7866ed 100644
--- a/hw/ac97.c
+++ b/hw/ac97.c
@@ -118,7 +
Unfortunately, pa_simple is a limited API which doesn't let us
retrieve the associated pa_stream. It is needed to control the volume
of the stream.
In v4:
- add missing braces
Signed-off-by: Marc-André Lureau
---
audio/paaudio.c | 377 +
. Since it's not
officially release, I don't think we should work around it in qemu.
cheers
--
Marc-André Lureau
_LT_VERSION=m4_format("%d:%d:%d", SPICE_CURRENT, SPICE_REVISION,
> SPICE_AGE)
> AC_SUBST(SPICE_LT_VERSION)
>
> # Check for the CPU we are using
> diff --git a/server/Makefile.am b/server/Makefile.am
> index 97e7dfe..47b3c10 100644
> --- a/server/Makefile.am
> +++ b/server/Makefile.am
> @@ -17,7 +17,7 @@ AM_CPPFLAGS = \
> lib_LTLIBRARIES = libspice-server.la
>
> libspice_server_la_LDFLAGS = \
> - -version-number $(SPICE_LT_VERSION) \
> + -version-info $(SPICE_LT_VERSION) \
> -no-undefined \
> $(NULL)
>
> --
> 1.7.10.1
>
>
--
Marc-André Lureau
Just resending as a reminder, thanks.
Marc-André Lureau (10):
audio: add VOICE_VOLUME ctl
audio: don't apply volume effect if backend has VOICE_VOLUME_CAP
hw/ac97: remove USE_MIXER code
hw/ac97: the volume mask is not only 0x1f
hw/ac97: add support for volume control
audio/spice
Combine output volume with Master and PCM registers values.
Use default values in mixer_reset ().
Set volume on post-load to update backend values.
v4,v5:
- fix some code style
Signed-off-by: Marc-André Lureau
---
hw/ac97.c | 81
It's a case by case (see Table 66. AC ‘97 Baseline Audio Register Map)
Signed-off-by: Marc-André Lureau
---
hw/ac97.c |1 -
1 file changed, 1 deletion(-)
diff --git a/hw/ac97.c b/hw/ac97.c
index f2804e6..f7866ed 100644
--- a/hw/ac97.c
+++ b/hw/ac97.c
@@ -118,7 +118,6 @@ enum {
#d
IXEMU=0.
Signed-off-by: Marc-André Lureau
---
audio/audio.c | 10 +-
audio/mixeng.c |6 --
configure |8
hw/hda-audio.c |4
4 files changed, 9 insertions(+), 19 deletions(-)
diff --git a/audio/audio.c b/audio/audio.c
index bd9237e..bb94133 100644
Add a new PCM control operation to update the stream volume on the
audio backend. The argument given is a SWVoiceOut/SWVoiceIn.
v4:
- verified other backends didn't fail/assert on this new control
they randomly return 0 or -1, but we ignore return value.
Signed-off-by: Marc-André L
Signed-off-by: Marc-André Lureau
---
audio/paaudio.c | 99 ---
1 file changed, 94 insertions(+), 5 deletions(-)
diff --git a/audio/paaudio.c b/audio/paaudio.c
index 6f50c1c..e6708d0 100644
--- a/audio/paaudio.c
+++ b/audio/paaudio.c
That code doesn't compile. The interesting bits for volume control are
going to be rewritten in the following patch.
Signed-off-by: Marc-André Lureau
---
hw/ac97.c | 121 -
1 file changed, 121 deletions(-)
diff --git a/hw/ac97.c
If the audio backend is capable of volume control, don't apply
software volume (mixeng_volume ()), but instead, rely on backend
volume control. This will allow guest to have full range volume
control.
Signed-off-by: Marc-André Lureau
---
audio/audio.c |9 +++--
Unfortunately, pa_simple is a limited API which doesn't let us
retrieve the associated pa_stream. It is needed to control the volume
of the stream.
In v4:
- add missing braces
Signed-off-by: Marc-André Lureau
---
audio/paaudio.c | 377 +
Signed-off-by: Marc-André Lureau
---
configure |6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/configure b/configure
index 1d94acd..2d62d12 100755
--- a/configure
+++ b/configure
@@ -1855,9 +1855,9 @@ for drv in $audio_drv_list; do
;;
pa
1 - 100 of 9226 matches
Mail list logo