From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
To: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
broonie@kernel.org
Cc: alsa-devel@alsa-project.org, ckeepax@opensource.cirrus.com,
tiwai@suse.com, lgirdwood@gmail.com,
linux-kernel@vger.kernel.org, vkoul@kernel.org
Subject: Re: [RFC PATCH v2 2/6] ALSA: compress: add new ioctl for setting codec parameters
Date: Wed, 22 Jul 2020 09:59:59 +0100 [thread overview]
Message-ID: <9bbfebf9-9a70-46e3-1808-413d04aa6b2c@linaro.org> (raw)
In-Reply-To: <ee2dc239-c1a7-f48f-c6f0-ec6e61ccdda6@linux.intel.com>
On 21/07/2020 21:05, Pierre-Louis Bossart wrote:
>
>
> On 7/21/20 12:00 PM, Srinivas Kandagatla wrote:
>> For gapless playback it is possible that each track can have different
>> codec profile with same decoder, for example we have WMA album,
>> we may have different tracks as WMA v9, WMA v10 and so on
>>
>> Or if DSP's like QDSP have abililty to switch decoders on single stream
>
> ability
>
>> for each track, then this call could be used to set new codec parameters.
>>
>> Existing code does not allow to change this profile while doing gapless
>> playback.
>>
>> This patch adds new SNDRV_COMPRESS_SET_CODEC_PARAMS IOCTL to allow
>> userspace to set this new parameters required for new codec profile.
>>
>> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
>> ---
>> .../sound/designs/compress-offload.rst | 6 ++++
>> include/sound/compress_driver.h | 5 +++
>> include/uapi/sound/compress_offload.h | 1 +
>> sound/core/compress_offload.c | 34 +++++++++++++++++++
>> 4 files changed, 46 insertions(+)
>>
>> diff --git a/Documentation/sound/designs/compress-offload.rst
>> b/Documentation/sound/designs/compress-offload.rst
>> index 935f325dbc77..305ccc7bfdd9 100644
>> --- a/Documentation/sound/designs/compress-offload.rst
>> +++ b/Documentation/sound/designs/compress-offload.rst
>> @@ -128,6 +128,12 @@ set_params
>> cases decoders will ignore other fields, while encoders will strictly
>> comply to the settings
>> +set_codec_params
>> + This routine is very much simillar to set_params but exculding stream
>
> typos: similar, excluding
>
>> + information. Only codec related information is set as part of this.
>> + It is used in gapless playback where its required to change decoder
>> + or its parameters for next track. This is optional.
>> +
>> get_params
>> This routines returns the actual settings used by the DSP. Changes to
>> the settings should remain the exception.
>> diff --git a/include/sound/compress_driver.h
>> b/include/sound/compress_driver.h
>> index 70cbc5095e72..d9c00bcfce9b 100644
>> --- a/include/sound/compress_driver.h
>> +++ b/include/sound/compress_driver.h
>> @@ -93,6 +93,9 @@ struct snd_compr_stream {
>> * @set_params: Sets the compressed stream parameters, mandatory
>> * This can be called in during stream creation only to set codec
>> params
>> * and the stream properties
>> + * @set_codec_params: Sets the compressed stream codec parameters,
>> Optional
>> + * This can be called in during gapless next track codec change only
>> to set
>> + * codec params
>
> Would it be clearer if this was called set_next_codec_params()? or
> set_next_track_codec_params()?
>
> Having set_params() and set_codec_params() is a bit confusing since the
> semantic difference is not captured in the callback name.
set_next_track_codec_params seems more sensible as its next track params.
Will change this in next version!
--srini
>
next prev parent reply other threads:[~2020-07-22 9:00 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-21 17:00 [RFC PATCH v2 0/6] ALSA: compress: add support to change codec profile in gapless playback Srinivas Kandagatla
2020-07-21 17:00 ` [RFC PATCH v2 1/6] ALSA: compress: move codec parameter check to a function Srinivas Kandagatla
2020-07-21 19:56 ` Pierre-Louis Bossart
2020-07-21 17:00 ` [RFC PATCH v2 2/6] ALSA: compress: add new ioctl for setting codec parameters Srinivas Kandagatla
2020-07-21 20:05 ` Pierre-Louis Bossart
2020-07-22 8:59 ` Srinivas Kandagatla [this message]
2020-07-22 15:36 ` Pierre-Louis Bossart
2020-07-23 4:47 ` Vinod Koul
2020-07-23 13:17 ` Pierre-Louis Bossart
2020-07-21 17:00 ` [RFC PATCH v2 3/6] ALSA: compress: add flags to snd_compr_caps to expose dsp caps Srinivas Kandagatla
2020-07-21 17:00 ` [RFC PATCH v2 4/6] ASoC: compress: add snd_soc_dai_compr_set_codec_params() Srinivas Kandagatla
2020-07-21 17:00 ` [RFC PATCH v2 5/6] ALSA: compress: bump the version Srinivas Kandagatla
2020-07-21 17:00 ` [RFC PATCH v2 6/6] ASoC: q6asm-dai: add support to set_codec_params Srinivas Kandagatla
2020-07-21 20:09 ` Pierre-Louis Bossart
2020-07-22 8:59 ` Srinivas Kandagatla
2020-07-22 14:04 ` Daniel Baluta
2020-07-23 12:38 ` [RFC PATCH v2 0/6] ALSA: compress: add support to change codec profile in gapless playback Takashi Iwai
2020-07-23 13:05 ` Vinod Koul
2020-07-23 13:17 ` Takashi Iwai
2020-07-23 15:56 ` Vinod Koul
2020-07-23 20:33 ` Takashi Iwai
2020-08-06 11:08 ` Vinod Koul
2020-08-06 16:28 ` Takashi Iwai
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=9bbfebf9-9a70-46e3-1808-413d04aa6b2c@linaro.org \
--to=srinivas.kandagatla@linaro.org \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=ckeepax@opensource.cirrus.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=tiwai@suse.com \
--cc=vkoul@kernel.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
all inboxes | Powered by JetHome®