From: Vinod Koul <vinod.koul@intel.com>
To: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: Linux-ALSA <alsa-devel@alsa-project.org>,
Mark Brown <broonie@kernel.org>,
Liam Girdwood <lgirdwood@gmail.com>, Simon <horms@verge.net.au>
Subject: Re: ASoC: How to mix multi input ?
Date: Mon, 25 May 2015 11:18:44 +0530 [thread overview]
Message-ID: <20150525054844.GA3140@localhost> (raw)
In-Reply-To: <87fv6qu6k5.wl%kuninori.morimoto.gx@renesas.com>
On Thu, May 21, 2015 at 12:20:06AM +0000, Kuninori Morimoto wrote:
>
> Hi Mark
>
> Thank you for your reply
>
> >> Here, sound A/B/C will be used randomly.
> >> Does ALSA SoC already has this kind of system ?
> >
> > I *think* at least the Intel systems do this already.
>
> Thank you. I will check it.
>
> > > I would like to ask you how to mix multi input in ASoC.
> > > Renesas sound device(s) can mix multi input to 1 output.
> >
> > You mean in DPCM rather than a plain CODEC?
> (snip)
> > > codec will be started if one of A/B/C are started,
> > > and it will be stopped if all of A/B/C are stopped.
> >
> > If you connect multiple front ends to one back end this should work
> > (with DAPM routes and so on). If it doesn't work then that's something
> > that should work.
>
> I considered about DPCM, but *maybe* this is not goot match for us.
> If my understanding is correct, and if I used DPCM for this,
> all of sound A/B/C are start/stop:ed in same time ?
>
> ex)
> start sound => start A/B/C and codec
> stop sound => stop A/B/C and codec
>
> I guess it works if it has this connection
>
> data -> [A] -> [B] -> [C] -> codec
>
> We would like to do is like this
>
> +-+
> dataA -> [A] -> |M|
> dataB -> [B] -> |I| -> codec
> dataC -> [C] -> |X|
> +-+
>
> init => working:
> start sound A => working: codec + A
> start sound B => working: codec + A/B (mixed)
> stop sound A => working: codec + B
> start sound C => working: codec + B/C (mixed)
> stop sound B => working: codec + C
> stop sound C => working:
>
> I guess current DPCM doesn't support this ?
it does, you have to declare A, B, C as FE then introduce a digital mixer
(real or virtual, depending on the system) and the a BE which is your HW DAI
here and connects to codec
This works very well and you can start/stop A, B, C independently. Codec
will be on as along as any of the inputs is On.
See the sound/soc/intel/atom for reference
--
~Vinod
next prev parent reply other threads:[~2015-05-25 5:47 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-20 5:20 ASoC: How to mix multi input ? Kuninori Morimoto
2015-05-20 18:13 ` Mark Brown
2015-05-21 0:20 ` Kuninori Morimoto
2015-05-21 11:05 ` Mark Brown
2015-05-22 0:01 ` Kuninori Morimoto
2015-05-22 17:59 ` Liam Girdwood
2015-05-22 18:04 ` Mark Brown
2015-05-25 5:48 ` Vinod Koul [this message]
2015-05-25 8:06 ` Kuninori Morimoto
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=20150525054844.GA3140@localhost \
--to=vinod.koul@intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=horms@verge.net.au \
--cc=kuninori.morimoto.gx@renesas.com \
--cc=lgirdwood@gmail.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.