From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jiada Wang Subject: [PATCH 0/2] alsa-lib: dynamically adapt the avail_min on the slave Date: Thu, 10 Nov 2016 16:34:41 +0900 Message-ID: <20161110073443.1192-1-jiada_wang@mentor.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from relay1.mentorg.com (relay1.mentorg.com [192.94.38.131]) by alsa0.perex.cz (Postfix) with ESMTP id D3EBC266669 for ; Thu, 10 Nov 2016 08:34:43 +0100 (CET) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: lgirdwood@gmail.com, broonie@kernel.org, wens@csie.org Cc: jiada_wang@mentor.com, alsa-devel@alsa-project.org, apape@de.adit-jv.com List-Id: alsa-devel@alsa-project.org When configuring avail_min to multiple of slave period size it can happen that user waits one slave period longer than needed for available data. Root cause is implicit grabbing of slave samples in avail_update operation. On next entering poll, the slave will wait for the avail_min threshold reached again, as he is not aware that there are already pending samples in the above layer which are not yet provided to user. Solution is to dynamically adapt the avail_min on the slave. Andreas Pape (2): plugin: dynamically update avail_min on slave rate: dynamic update avail_min on slave src/pcm/pcm_plugin.c | 48 +++++++++++++++++++++++++++++++++++++++++++++++- src/pcm/pcm_plugin.h | 3 +++ src/pcm/pcm_rate.c | 2 +- 3 files changed, 51 insertions(+), 2 deletions(-) -- 2.9.3