Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Apr 2016 17:17:13 +0000 (UTC)
From:      Raphael Kubo da Costa <rakuco@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r413463 - in head/multimedia/qt5-multimedia: . files
Message-ID:  <201604161717.u3GHHD33058026@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rakuco
Date: Sat Apr 16 17:17:12 2016
New Revision: 413463
URL: https://svnweb.freebsd.org/changeset/ports/413463

Log:
  Add patch to fix underrun errors in the ALSA plugin.
  
  The ALSA plugin doesn't suspend the ALSA device when the ::suspend() method is
  called. This results in underrun errors when it's resumed.
  
  In ALSA, stopping a pcm doesn't close it, so the ALSA stop/start functions map
  to the QAudioInput suspend/resume functions.
  
  PR:		208598
  Submitted by:	shurd
  MFH:		2016Q2

Added:
  head/multimedia/qt5-multimedia/files/patch-git_9047d9b   (contents, props changed)
Modified:
  head/multimedia/qt5-multimedia/Makefile

Modified: head/multimedia/qt5-multimedia/Makefile
==============================================================================
--- head/multimedia/qt5-multimedia/Makefile	Sat Apr 16 17:09:17 2016	(r413462)
+++ head/multimedia/qt5-multimedia/Makefile	Sat Apr 16 17:17:12 2016	(r413463)
@@ -2,6 +2,7 @@
 
 PORTNAME=	multimedia
 DISTVERSION=	${QT5_VERSION}
+PORTREVISION=	1
 CATEGORIES=	multimedia
 PKGNAMEPREFIX=	qt5-
 

Added: head/multimedia/qt5-multimedia/files/patch-git_9047d9b
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/qt5-multimedia/files/patch-git_9047d9b	Sat Apr 16 17:17:12 2016	(r413463)
@@ -0,0 +1,36 @@
+commit 9047d9b84e9d94d193e77abd81f5980eff77d73a
+Author: Stephen Hurd <shurd@freebsd.org>
+Date:   Thu Apr 14 19:11:01 2016 -0700
+
+    ALSA: Call snd_pcm_drain() on suspend
+
+    The ALSA plugin previously didn't suspend the ALSA device when the
+    ::suspend() method is called.  This results in underrun errors when
+    it's resumed.
+
+    In ALSA, stopping a pcm doesn't close it, so the ALSA stop/start
+    functions map to the QAudioInput suspend/resume functions.
+
+    Change-Id: I2507065a1b7472af29eef70c531b9f6e8e5b3072
+    Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
+
+--- src/plugins/alsa/qalsaaudioinput.cpp
++++ src/plugins/alsa/qalsaaudioinput.cpp
+@@ -701,6 +701,7 @@ qint64 QAlsaAudioInput::processedUSecs() const
+ void QAlsaAudioInput::suspend()
+ {
+     if(deviceState == QAudio::ActiveState||resuming) {
++        snd_pcm_drain(handle);
+         timer->stop();
+         deviceState = QAudio::SuspendedState;
+         emit stateChanged(deviceState);
+--- src/plugins/alsa/qalsaaudiooutput.cpp
++++ src/plugins/alsa/qalsaaudiooutput.cpp
+@@ -673,6 +673,7 @@ QAudioFormat QAlsaAudioOutput::format() const
+ void QAlsaAudioOutput::suspend()
+ {
+     if(deviceState == QAudio::ActiveState || deviceState == QAudio::IdleState || resuming) {
++        snd_pcm_drain(handle);
+         timer->stop();
+         deviceState = QAudio::SuspendedState;
+         errorState = QAudio::NoError;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201604161717.u3GHHD33058026>