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 --]
next prev parent 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).