OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-dev message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: virtio-snd and snapshots (e.g. in QEMU) when audio is active


Hi,

I work in Android Studio Emulator and we use virtio-snd (implemented
ourselves) for audio output/input. According to the spec (1.2), the
device has one TX virtqueue for all output streams and one RX
virtqueue for all input streams. Each stream may and usually have more
than one period (I request 4 periods).

Because virtqueues are shared between streams (if there are more than
one stream in the same direction), I cannot fetch vq messages when a
stream needs one. I fetch vq messages (and put them into my own buffer
to process them later) when the kernel puts them into a vq. I hope
this is correct. I think I tried processing them immediately (at least
for TX) but the kernel was not happy with this because I was draining
the buffer too fast causing XRUN.

If a snapshot request comes when audio streams are active I may have
several unprocessed messages for several streams for both TX and RX.
In my case messages are VirtQueueElement* which I don't think can be
saved directly.

Could you please advise what a device is expected to do in this case?

Thank you.

Regards,
Roman.


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]