From patchwork Fri Dec 30 06:29:55 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: sutar.mounesh@gmail.com X-Patchwork-Id: 9491877 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 25FB460488 for ; Fri, 30 Dec 2016 08:00:26 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 11E4F1FF35 for ; Fri, 30 Dec 2016 08:00:26 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0612C1FFCA; Fri, 30 Dec 2016 08:00:26 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.3 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM, T_DKIM_INVALID autolearn=no version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2CBA91FF60 for ; Fri, 30 Dec 2016 08:00:24 +0000 (UTC) Received: by alsa0.perex.cz (Postfix, from userid 1000) id 19BD1267026; Fri, 30 Dec 2016 09:00:23 +0100 (CET) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id AD8F3267055; Fri, 30 Dec 2016 08:58:04 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 04B412667FE; Fri, 30 Dec 2016 07:30:05 +0100 (CET) Received: from mail-qt0-f194.google.com (mail-qt0-f194.google.com [209.85.216.194]) by alsa0.perex.cz (Postfix) with ESMTP id 2AF852666FB; Fri, 30 Dec 2016 07:30:02 +0100 (CET) Received: by mail-qt0-f194.google.com with SMTP id 3so25164875qtr.2; Thu, 29 Dec 2016 22:30:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=sla1l8OLkEa4x1cigA7tBIZ+qiuqdXbyuwBP3Ebdwno=; b=d91K40Zb54hHNk4U+rUbovXGD3guXQeyOoDVnwSo7Zxuu+jeZWnRg+bssiZFKwwlzO +OwI5IZrrOZWZLUA1PN5QKIoC8Cp0c4Vh9mK3LW2r0ppp0Vf9rv+vXCeQyQIc0N8ADC+ 8Zb8qnsipm8jKvDNuLG/9VJw2pjn5mgU21wCZfNlCOc0kInvZI8yGrs1DbvtQF06sAQp i63C5Py/H2q+axjFHzB6ZHz4NbfxOM5BLrBonbqIRR812wKYC9a/a1lMESXw3q62BNSh POdZCQHwgHDtLaeapNVtoL7QqzJ2Fqs0aNomLSpCoAzN75JfNoYTqqyBnpH+pV9bUB5H zp3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=sla1l8OLkEa4x1cigA7tBIZ+qiuqdXbyuwBP3Ebdwno=; b=lDCjlyaYdVAGcHOqI6fjK4jmwjO3b5B2HZwPScPkjt7W23q3jUny467edVV29Bn72E IXo5/F2f/jtYam52LWwwZ1N9FKzPrZ4thzpgy28PDS5nMHvwbqpG8tgYqt+EY+byfphw SCYRwwciubXGkJK1o4g6SW8W9ePAuy2Truc0P46UDKtamF7ZPrWtf2z6abzXsSl7rvJ0 ZC0fcLA9QMJj7W/sbtcECbVdRjmLz6d9XyklD9C3SdK5McxdeKhQnMj35QJQf3VxX1qv wOG3fkYM3CeIeZwxIJmOAEpitCGq12wpc/PVmxmg7URQ22/OrvNi7FL1ekswOPtOmzfY 82KA== X-Gm-Message-State: AIkVDXIVQy18HzhtFGZEnErSUn48a9urovudA2hHpGY/6d39TuLD9FXRPY9VefLpIJJApw== X-Received: by 10.237.33.212 with SMTP id m20mr44734240qtc.130.1483079402485; Thu, 29 Dec 2016 22:30:02 -0800 (PST) Received: from mounesh-VirtualBox.inp.mentorg.com ([139.181.35.34]) by smtp.gmail.com with ESMTPSA id c41sm16721301qtd.3.2016.12.29.22.30.00 (version=TLS1_1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 29 Dec 2016 22:30:02 -0800 (PST) From: sutar.mounesh@gmail.com To: patch@alsa-project.org Date: Fri, 30 Dec 2016 11:59:55 +0530 Message-Id: <1483079395-28983-1-git-send-email-sutar.mounesh@gmail.com> X-Mailer: git-send-email 1.7.9.5 Cc: alsa-devel@alsa-project.org, Andreas Pape , mounesh_sutar@mentor.com Subject: [alsa-devel] [PATCH 6/6] alsa-lib:pcm: don't return bogus buffer levels in xrun state X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP From: Andreas Pape Signed-off-by: Andreas Pape diff --git a/src/pcm/pcm_dmix.c b/src/pcm/pcm_dmix.c index 320c948..127b06f 100644 --- a/src/pcm/pcm_dmix.c +++ b/src/pcm/pcm_dmix.c @@ -884,6 +884,9 @@ static snd_pcm_sframes_t snd_pcm_dmix_avail_update(snd_pcm_t *pcm) if (( err = snd_pcm_dmix_sync_ptr(pcm)) < 0) return err; } + if (dmix->state == SND_PCM_STATE_XRUN) + return -EPIPE; + return snd_pcm_mmap_playback_avail(pcm); } diff --git a/src/pcm/pcm_dshare.c b/src/pcm/pcm_dshare.c index f4fa32b..5b897f5 100644 --- a/src/pcm/pcm_dshare.c +++ b/src/pcm/pcm_dshare.c @@ -570,6 +570,9 @@ static snd_pcm_sframes_t snd_pcm_dshare_avail_update(snd_pcm_t *pcm) if ((err = snd_pcm_dshare_sync_ptr(pcm)) < 0) return err; } + if (dshare->state == SND_PCM_STATE_XRUN) + return -EPIPE; + return snd_pcm_mmap_playback_avail(pcm); } diff --git a/src/pcm/pcm_dsnoop.c b/src/pcm/pcm_dsnoop.c index 0729a5a..61579e8 100644 --- a/src/pcm/pcm_dsnoop.c +++ b/src/pcm/pcm_dsnoop.c @@ -454,6 +454,9 @@ static snd_pcm_sframes_t snd_pcm_dsnoop_avail_update(snd_pcm_t *pcm) if (err < 0) return err; } + if (dsnoop->state == SND_PCM_STATE_XRUN) + return -EPIPE; + return snd_pcm_mmap_capture_avail(pcm); }