Hey Leif,

I also agree with the virtio preference.

I have done more research into the virtio specifications and edk2 source and 
determined the most viable solution would be to expand the OvmfPkg with a 
VirtioSoundDxe driver. Edk2 supports a generic EFI_VIRTIO_DEVICE_PROTOCOL and a 
helper library for virtio devices. Leveraging these features from edk2 would 
make communication with the sound device trivial.

The biggest question I have on my mind is the stability/jitter issues with 
sending/receiving audio data. The simplest solution I have is producing an 
event with a notify function to be triggered when the device finishes 
processing an audio buffer. That way the consumer can register a routine to 
place more audio data into the stream queue asynchronously without jittering 
audio. This solution requires careful balancing though. Events handled too 
quickly will stall other processes while events handled too slowly may jitter 
the audio. There will have to be a balance of buffer size and a backlog of 
buffers in the queue for this to work effectively.

Let me know your thoughts.

Thanks,
Archer Pergande


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#121776): https://edk2.groups.io/g/devel/message/121776
Mute This Topic: https://groups.io/mt/117302329/21656
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to