On Tue, 31 Jan 2023 at 14:48, Marc-André Lureau
<marcandre.lur...@gmail.com> wrote:
>
> Hi
>
> On Tue, Jan 31, 2023 at 10:20 PM Stefan Hajnoczi <stefa...@gmail.com> wrote:
> >
> > On Tue, 31 Jan 2023 at 12:43, Alex Bennée <alex.ben...@linaro.org> wrote:
> > >
> > >
> > > Stefan Hajnoczi <stefa...@gmail.com> writes:
> > >
> > > > On Sun, 29 Jan 2023 at 17:10, Stefan Hajnoczi <stefa...@gmail.com> 
> > > > wrote:
> > > >>
> > > >> Hi Shreyansh, Gerd, and Laurent,
> > > >> The last virtio-sound RFC was sent in February last year. It was a
> > > >> spare time project. Understandably it's hard to complete the whole
> > > >> thing on weekends, evenings, etc. So I wanted to suggest relaunching
> > > >> the virtio-sound effort as a Google Summer of Code project.
> > > >>
> > > >> Google Summer of Code is a 12-week full-time remote work internship.
> > > >> The intern would be co-mentored by some (or all) of us. The project
> > > >> goal would be to merge virtio-sound with support for both playback and
> > > >> capture. Advanced features for multi-channel audio, etc can be stretch
> > > >> goals.
> > > >>
> > > >> I haven't looked in detail at the patches from February 2022, so I
> > > >> don't know the exact state and whether there is enough work remaining
> > > >> for a 12-week internship. What do you think?
> > > >
> > > > Adding Anton.
> > > >
> > > > I have updated the old wiki page for this project idea and added it to
> > > > the 2023 ideas list:
> > > > https://wiki.qemu.org/Internships/ProjectIdeas/VirtioSound
> > > >
> > > > Please let me know if you wish to co-mentor this project!
> > >
> > > I'd be happy to help - although if someone was rust inclined I'd also be
> > > happy to mentor a rust-vmm vhost-user implementation of VirtIO sound.
> >
> > Maybe Gerd can tell us about the QEMU audio subsystem features that
> > may be lost if developing a standalone vhost-user device.
> >
> > Two things come to mind:
> > 1. May not run on all host OSes that QEMU supports if it supports
> > fewer native audio APIs than QEMU.
>
> Using GStreamer in Rust is well supported, and should give all the
> backends that you ever need (alternatively, there might be some Rust
> audio crates that I am not aware of). In all cases, I would not
> implement various backends the way QEMU audio/ has grown...
>
> > 2. May not support forwarding audio to remote desktop solutions that
> > stream audio over the network. I don't know if/how this works with
> > VNC/RDP/Spice, but a separate vhost-user process will need to do extra
> > work to send the audio over the remote desktop connection.
>
> Well, some of the goal with `-display dbus` is to move the remote
> desktop handling outside of QEMU. I had in mind that the protocol will
> have to evolve to handle multiprocess, so audio, display, input etc
> interfaces can be provided by external processes. In fact, it should
> be possible without protocol change for audio devices with the current
> interface 
> (https://gitlab.com/qemu-project/qemu/-/blob/master/ui/dbus-display1.xml#L483).
>
> In short, I wish the project implements the device in Rust, with
> `gstreamer` and `dbus` as optional features. (that should be
> introspectable via --print-capabilities stuff)

Cool, then let's go with a Rust vhost-user device implementation!

Can you elaborate on how the "gstreamer" feature would be used by the
process launching the vhost-user back-end? Do you mean there should be
a standard command-line syntax for specifying the playback and capture
devices that maps directly to GStreamer (e.g. like gst-launch-1.0)?

Stefan

Reply via email to