[alsa-devel] [alsa-lib] [PATCH] pcm: add set and get methods for no-rewind flag

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Wed Jan 31 01:21:54 CET 2018


On 1/30/18 11:42 AM, Takashi Sakamoto wrote:
> Hi,
> 
> On Jan 30 2018 18:33, Sriram Periyasamy wrote:
>> From: Ramesh Babu <ramesh.babu at intel.com>
>>
>> Add functions to set/get no-rewind flag
>>
>> Signed-off-by: Ramesh Babu <ramesh.babu at intel.com>
>> Signed-off-by: Sriram Periyasamy <sriramx.periyasamy at intel.com>
>> ---
>>   include/pcm.h          |  2 ++
>>   include/sound/asound.h |  1 +
>>   src/pcm/pcm.c          | 40 ++++++++++++++++++++++++++++++++++++++++
>>   src/pcm/pcm_local.h    |  1 +
>>   4 files changed, 44 insertions(+)
> 
> For this new flag, I post my comment to your work for kernel land[1].
> Please refer to it.
> 
> [1]
> http://mailman.alsa-project.org/pipermail/alsa-devel/2018-January/131336.html

I believed we missed your feedback, thanks for providing the pointer.

You wrote
"In my opinion, when drivers
return appropriate values at implementations of
"struct snd_pcm_ops.pointer" and "struct snd_pcm_ops.ack", your aim is
satisfied. In short, you can let ALSA PCM core to handle
rewinding/forwarding requests from userland for zero number of handled
frames in result. So the 'SNDRV_PCM_HW_PARAMS_NO_REWINDS' flag is
useless"

You may have missed that the hardware needs to know when the stream is 
opened if rewinds will be done or not. It's a contract between 
application and driver, just like the NO_IRQ mode, not a dynamic choice. 
If we enable the hardware capabilities and the application does a 
rewind, then it will be a true error with the stream having to be 
closed. That's not really desirable, is it?


> 
> Regards
> 
> 
> Takashi Sakamoto
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> 



More information about the Alsa-devel mailing list