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]] -=-=-=-=-=-=-=-=-=-=-=-
