← Prev in month ← Prev in thread

Request for a new device number for a virtio-audio device.

From
Marco Martinelli - 13Byte srl <>
Date
2019-04-28T22:22:44+00:00
ID
Thread
Request for a new device number for a virtio-audio device.
Hi everyone,

    
my name is Marco, from Italy. I'm a developer that recently got
      an interest in improving the current situation of audio in
      qemu/kvm.

    
I've been working successfully on multiple patches for Scream (
        https://github.com/duncanthrax/scream ), a virtual sound
      card for Microsoft Windows, that allow to transfer audio from a
      Windows VM to a Linux host. The project initially supported only
      stereo sound over the network, but with my patches now it support
      up to 7.1 surround and it can transfer the audio samples using
      shared memory between the VM and the host (based on IVSHMEM), for
      lower latency.

    

    
Now that was a good project, but I want to do more. I dream of an
      virtio-audio device that can handle multichannel audio in and out
      of the VM, to be used with more guest OSs than just Windows.

    
I know I have a long way to go to reach this goal, but I'm
      motivated and willing to learn. I admit I don't have much
      experience with the qemu source code or the virtio source code,
      but I learn fast.

    
My work on Scream was to familiarize with Windows driver
      development, VM-to-host communication and low latency audio
      processing.

      My idea is to start with small self-contained projects to
      familiarize with the source codes of the various projects and gain
      the experience I lack, then moving on the real virtio-audio
      project.

      This way I can both obtain more knowledge on the subjects and help
      the open source community that over the years have done so much
      for many.

    
As we speak I'm reading the VirtIO documentation, where I've
      found out that I need to require a new device number for this
      project (Appendix B.3). So, here I am.

    
I'm not quite sure if this email is enough to obtain a new number
      or if I need to follow some process I'm not aware of. In the
      meantime I'm using the device number 65535 as documented in the
      specifications.

    

    
Looking around I've seen there is a recent issue on GitHub to
      reserve a virtio-audio device id, and a patch was submitter to
      assign id 25 to audio devices.

    
I'm not sure how this works, is that number already assigned and
      I should use that or should I get a new one?

    
For last, I have a question to clear the things up for me. It is
      my understanding that in this mailing list you discuss about the
      specifications, not the actual code. What's the usual process when
      writing a new virtio device?

      Should I start with writing the code and then document how it
      works or is it the opposite? Should I document it and have it
      approved and then implement the specifications?

      

      I know that this may sound like a stupid question, but please be
      patient with me, it's my first time.

    

    

    

    
Best Regards,

    Marco
← Prev in month ← Prev in thread