devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: gsantosh@codeaurora.org
To: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Cc: gsantosh@codeaurora.org, alsa-devel-bounces@alsa-project.org,
	Mark Rutland <mark.rutland@arm.com>,
	Rob Herring <robh@kernel.org>,
	ALSA Development Mailing List <alsa-devel@alsa-project.org>,
	Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,
	Stephen Warren <swarren@wwwdotorg.org>,
	Linux-sh list <linux-sh@vger.kernel.org>,
	Magnus <magnus.damm@gmail.com>,
	linux-kernel@vger.kernel.org, grant.likely@linaro.org,
	devicetree@vger.kernel.org, Mark Brown <broonie@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Olof Johansson <olof@lixom.net>,
	Kuninori Morimoto <kuninori.morimoto.gx@gmail.com>
Subject: Re: [alsa-devel] Question on Compressed offload session
Date: Fri, 14 Nov 2014 04:08:28 -0000	[thread overview]
Message-ID: <fd33d16f31eb73cc6f0585c192601d9e.squirrel@www.codeaurora.org> (raw)
In-Reply-To: <5464CDE2.2070406@linux.intel.com>

> On 11/12/14, 9:02 PM, gsantosh@codeaurora.org wrote:
>> Hi All,
>>
>> The Question is for the compressed offload session.
>>
>> For a generic codec driver during the startup function it will set some
>> of
>> the hw_constraints rule similarly like this.
>>
>>          snd_pcm_hw_constraint_list(substream->runtime, 0,
>>                      SNDRV_PCM_HW_PARAM_RATE,
>>                      &constraints_12_24);
>>
>> pcm_lib.c will try to add the rule to the runtime structure by accessing
>> the pointers which will be initialized during opening of the session,
>> as The Constraints added by the codec driver will be updated in the
>>
>> struct snd_pcm_hw_constraints of runtime structure which will be part of
>> substream handle.
>>
>> But for the compressed offload I do not see the initialization done for
>> HW
>> constraints, as done in pcm session
>>
>> 2092int snd_pcm_open_substream(struct snd_pcm *pcm, int stream,
>> 2093			   struct file *file,
>> 2094			   struct snd_pcm_substream **rsubstream)
>>
>> most of the existing drivers which has the hw_constraint_list code will
>> not be applicable for compress offload session, how to solve this?
>
> You can't directly link physical output/input with the decoder/encoder
> in general.
> For decoders, the sample-rate may not always be known ahead of time,
> e.g. with AAC-SBR implicit signaling. There is no way to add constraints
> on open, there is an assumption that a sample-rate converter is part of
> the chain to take care of the difference between the output of the
> offloaded decoder and the back-end actual sampling frequency (same with
> number of channels and bit-width btw).
> Likewise if you encode the frequency may not be the same as what the
> backend provides and some SRC might be needed.
> -Pierre
>

I Agree we cannot have a direct link between physical output  / input with
decoder / encoder, during compressed playback.
My concern here is, if we have a legacy codec driver which is used for the
PCM out, and in the start up of this codec driver it is adding
hw_constraints list, now the same codec driver is used for the compressed
session FE or PCM session FE,
If the routing is such that compressed FE -> codec the hw_constraints
added by this driver is not valid here,
and legacy drivers needs to be changed,
Now the question comes how to change this drivers?
I can think of following things
if the routing is done for Compressed FE -> codec

1) in Codec driver avoid adding hw_constraint during startup if compressed
session is routed, this recommend for codec driver to know that compress
session is routed to codec which I feel not the correct way to handle this

I was checking how to handle this situation in much better way.

Regards
Santosh

> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>



  reply	other threads:[~2014-11-14  4:08 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-13  3:02 Question on Compressed offload session gsantosh
2014-11-13 15:27 ` [alsa-devel] " Pierre-Louis Bossart
2014-11-14  4:08   ` gsantosh [this message]
2014-11-14 16:28     ` Pierre-Louis Bossart
2014-11-14 17:06       ` Mark Brown

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=fd33d16f31eb73cc6f0585c192601d9e.squirrel@www.codeaurora.org \
    --to=gsantosh@codeaurora.org \
    --cc=alsa-devel-bounces@alsa-project.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=geert@linux-m68k.org \
    --cc=grant.likely@linaro.org \
    --cc=kuninori.morimoto.gx@gmail.com \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=magnus.damm@gmail.com \
    --cc=mark.rutland@arm.com \
    --cc=olof@lixom.net \
    --cc=pierre-louis.bossart@linux.intel.com \
    --cc=robh@kernel.org \
    --cc=swarren@wwwdotorg.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).