qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] QEMU VNC Audio - All audio data null


From: malc
Subject: Re: [Qemu-devel] QEMU VNC Audio - All audio data null
Date: Sun, 15 Jul 2012 23:48:28 +0400 (MSK)
User-agent: Alpine 2.00 (LNX 1167 2008-08-23)

On Sun, 15 Jul 2012, agraham wrote:

> On 07/15/2012 12:21 AM, malc wrote:
> > On Sun, 15 Jul 2012, agraham wrote:
> > 
> > > On 07/15/2012 12:01 AM, malc wrote:
> > > > On Sat, 14 Jul 2012, agraham wrote:
> > > > 
> > > > [..snip..]
> > > > 
> > > > > 
> > > > > /usr/bin/qemu-kvm -usb -no-fd-bootchk -M pc -enable-kvm -m 128 -drive
> > > > > file=/Storage/Windows/Images/Clone_of_Windows-XP-x32,if=none,media=disk,cache=unsafe,aio=native,snapshot,format=qcow2,id=virtio-blk-pci0
> > > > > -device
> > > > > virtio-blk-pci,addr=0x05,bus=pci.0,drive=virtio-blk-pci0,id=storage0
> > > > > -device
> > > > > virtio-net-pci,mac=52:e0:0a:14:00:03,netdev=hostnet0,addr=0x09,bus=pci.0,id=virtio-net-pci0
> > > > > -netdev tap,script=no,downscript=no,id=hostnet0 -usbdevice tablet -vga
> > > > > std
> > > > > -vnc :1100,lossy -rtc base=localtime,clock=host -global
> > > > > kvm-pit.lost_tick_policy=discard -chardev
> > > > > socket,id=monitor,path=windows-xp-1.monitor,server,nowait -mon
> > > > > chardev=monitor,mode=readline -pidfile windows-xp-1.pid -chroot
> > > > > /var/mist/chroot -runas qemu -snapshot -S -daemonize -name
> > > > > windows-xp-1
> > > > > -uuid
> > > > > cc0df7d6-26e4-4c60-911e-cd107935c6e6 -boot order=c -cpu kvm32 -soundhw
> > > > > ac97,es1370
> > > > > 
> > > > > Replacing es1370 with sb16 or removing it does not change anything.
> > > > 
> > > > Once again, works for me, not with the insane command line like above
> > > > though, bisecting is your only option unless someone has bright ideas.
> > > > 
> > > Are you using the AC97 driver?
> > > 
> > 
> > It shouldn't matter, but i've used SB16 under DOS.
> > 
> Bi-section complete :)

Thanks.

> 
> I've found the root cause and hopefully you should be able to reproduce the
> issue.
> 
> There was a configure option introduced called "--enable-mixemu".
> 

I'll try that when time permits.

> --enable-mixemu          enable mixer emulation
> 
> Could you rebuild with this switch added to your configure, you should the
> experience the issue as I do.
> 
> The option was added in Fedora qemu-1.0-x which included QEMU-0.15-1 + a ton
> of patches. after rebuilding / removing patches /rebuilding etc.. as you
> advised, all patches where removed and the problem still existed! that lead me
> to the difference in the configure options.
> 
> which lead to:
> 
> http://git.qemu.org/?p=qemu.git;a=blob;f=audio/mixeng.c#l349
> 
>  349 void mixeng_volume (struct st_sample *buf, int len, struct mixeng_volume
> *vol)
>  350 {
>  351 #ifdef CONFIG_MIXEMU
>  352     if (vol->mute) {
>  353         mixeng_clear (buf, len);
>  354         return;
>  355     }
> 
> I see the words "mute" + "clear", which is what I originally experienced :)
> 
> I'm not a C programmer so cannot fix this myself, but I imagine that any
> mixemu code should do nothing if QEMU_AUDIO_DRV=none.
> 
> 
> Interestingly:
> 
> # Copyright (c) 2004-2005 Vassili Karpov (malc)
> 
> Any connection with you?
> 

Yes.
 
> Lastly, I think it would be more efficiency and bandwidth friendly to zero the
> length such that no data would be sent to other clients that do use this
> feature (I assume spice), after all there really is no point in sending zero
> bytes.

It wouldn't be correct though, syncing and such...

> 
> Even when zeros are sent to the sound device you will often here a click or a
> crackle for a fraction of a second, so by no sending anything you would avoid
> that.
> 
> Albert
> 

-- 
mailto:address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]