qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Shreyansh Chouhan <chouhan.shreyansh2702@gmail.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: "Alex Bennée" <alex.bennee@linaro.org>, qemu-devel@nongnu.org
Subject: Re: Fwd: VirtioSound device emulation implementation
Date: Thu, 28 Jan 2021 21:20:31 +0530	[thread overview]
Message-ID: <CAAQ-SiOYkxRMw=OjnPb5tFD0aNb+ZQykLVfAjOGmwFa2Lzc26w@mail.gmail.com> (raw)
In-Reply-To: <20210128112541.qjpve3qbjy46ofkk@sirius.home.kraxel.org>

[-- Attachment #1: Type: text/plain, Size: 2318 bytes --]

(Gerd, I wasn't able to get gmail to quote your email, so I have just copy
pasted the relavant parts.)

> Yes.  net_conf is common config (backend, mac address, maybe more) for
> network devices.  For sound devices that would audiodev (link the device
> to a backend which then handles alsa/pulse/jack/oss/sdl/whatever).

Ah I see, so the net_conf corresponds to audiodev? I thought it would
correspond
to `virtio_snd_conf`. So as alex said, `virtio_snd_conf` is the front end
configuration.

> Configuration can be done either using device properties, or by having
> different devices.  Using device properties is probably the easier way
> to go.  An example for the latter are the qemu hda codecs.  We have
> three different devices:

>  (1) hda-output: playback-only, offering a virtual line-out.
>  (2) hda-duplex: record/playback, offering line-in and line-out.
>  (3) hda-micro:  record/playback, offering microphone and speaker.

> The difference between (2) and (3) is just the jack labeling, otherwise
> the behavior is 100% identical (and they share the emulation code of
> course).  But some windows VoIP apps didn't like the line-in and
> complained about a missing microphone, so we added that ...

>> The thing is I do not understand `net` devices all that well so I get a
bit
>> confused with
>> what is specific to a net device and what should I actually be worried
>> about :)

> The only thing really required is the audiodev property.  Everything
> else can be hard-coded initially, and once the basics are working
> refined (like adding properties for jack labels, ...).

So in the realize function I set up the audiodev, right? Also in that case
why the difference between the net and sound devices? In the net
device we set up the common config in net_conf. Does the net_conf
somehow later sets up NetDev too?

And what is a NetClientState? Is the NetClient the emulated guest? This
confuses me a lot. I can't understand what will be the parellel audio device
property.

Also I can't seem to find where we parse the command line options passed to
qemu.
The code structure is a bit different from what I had expected. In
virtio_net_device_realize
we set duplex to half or full depending on the value of the
net_conf.duplex_str. But I
couldn't find where we actually set it.

cc Alex

--
Shreyansh

[-- Attachment #2: Type: text/html, Size: 3962 bytes --]

  reply	other threads:[~2021-01-28 15:52 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-06 10:00 VirtioSound device emulation implementation Shreyansh Chouhan
2021-01-06 11:40 ` Alex Bennée
2021-01-07 14:58   ` Shreyansh Chouhan
2021-01-07 15:58     ` Gerd Hoffmann
2021-01-07 17:17     ` Alex Bennée
2021-01-08  7:53       ` Shreyansh Chouhan
2021-01-08  8:34       ` Gerd Hoffmann
2021-01-10  8:25         ` Shreyansh Chouhan
     [not found]           ` <CAAQ-SiPiq5NQN=2mvP3isZ9PtYO2Bu64kVEvE6T+3OJd5B-U5A@mail.gmail.com>
2021-01-11  6:29             ` Fwd: " Shreyansh Chouhan
2021-01-11 11:59               ` Alex Bennée
2021-01-14 15:00                 ` Shreyansh Chouhan
2021-01-14 17:41                   ` Alex Bennée
2021-01-15  8:00                     ` Shreyansh Chouhan
2021-01-17 10:30                       ` Shreyansh Chouhan
2021-01-18 18:53                         ` Shreyansh Chouhan
2021-01-20 11:41                           ` Shreyansh Chouhan
2021-01-25  6:02                             ` Shreyansh Chouhan
2021-01-25 11:23                               ` Alex Bennée
2021-01-28  4:28                                 ` Shreyansh Chouhan
2021-01-28 10:42                                   ` Alex Bennée
2021-01-28 15:40                                     ` Shreyansh Chouhan
2021-01-28 11:25                                   ` Gerd Hoffmann
2021-01-28 15:50                                     ` Shreyansh Chouhan [this message]
2021-01-28 16:30                                       ` Gerd Hoffmann
2021-01-28 17:34                                         ` Shreyansh Chouhan
2021-02-11  4:59                                           ` Shreyansh Chouhan
2021-02-15 14:39                                             ` Gerd Hoffmann
2021-04-04 13:55                                               ` Shreyansh Chouhan
2021-04-16 11:32                                                 ` Gerd Hoffmann
2021-04-19 12:30                                                   ` Shreyansh Chouhan
2021-04-19 12:33                                                     ` Shreyansh Chouhan
2021-04-19 13:10                                                     ` Gerd Hoffmann
     [not found]                                                       ` <CAAQ-SiMf=BV-HUudRayZkRPJjmkYWuiBuKqYHHLzYjcFnPOgLQ@mail.gmail.com>
     [not found]                                                         ` <20210419135627.dlerwnswhfxt6ciz@sirius.home.kraxel.org>
     [not found]                                                           ` <CAAQ-SiM6uWUgHTS5PQ-hSkuXNOoKC7fw6Y1ZHhJ0MCUE3oaBqg@mail.gmail.com>
     [not found]                                                             ` <20210420071304.gmndase3r6mwp5yt@sirius.home.kraxel.org>
     [not found]                                                               ` <CAAQ-SiPPNK0xqnPPSjNZgwQCs+Vj0_A5koq5xK8HzhZKDgqVJw@mail.gmail.com>
2021-12-29  5:52                                                                 ` Shreyansh Chouhan
2022-01-20 10:39                                                                   ` Laurent Vivier
2022-02-07  4:06                                                                     ` Shreyansh Chouhan
2022-02-08 17:26                                                                       ` Shreyansh Chouhan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAAQ-SiOYkxRMw=OjnPb5tFD0aNb+ZQykLVfAjOGmwFa2Lzc26w@mail.gmail.com' \
    --to=chouhan.shreyansh2702@gmail.com \
    --cc=alex.bennee@linaro.org \
    --cc=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).