[xiph-commits] r9562 - in trunk/ao/src/plugins: alsa alsa09

j at svn.xiph.org j at svn.xiph.org
Tue Jul 12 12:56:14 PDT 2005


Author: j
Date: 2005-07-12 12:56:06 -0700 (Tue, 12 Jul 2005)
New Revision: 9562

Modified:
   trunk/ao/src/plugins/alsa/ao_alsa.c
   trunk/ao/src/plugins/alsa09/ao_alsa09.c
Log:
- change period_time in alsa09 to 60 (fixes #576)
- continue if no data transferred or interrupt signal (fixes #683)
- rename alsa -> alsa05 and alsa09 -> alsa



Modified: trunk/ao/src/plugins/alsa/ao_alsa.c
===================================================================
--- trunk/ao/src/plugins/alsa/ao_alsa.c	2005-07-12 11:00:10 UTC (rev 9561)
+++ trunk/ao/src/plugins/alsa/ao_alsa.c	2005-07-12 19:56:06 UTC (rev 9562)
@@ -42,7 +42,7 @@
 {
 	AO_TYPE_LIVE,
 	"Advanced Linux Sound Architecture (ALSA) output",
-	"alsa",
+	"alsa05",
 	"Stan Seibert <volsung at asu.edu>",
 	"Outputs to the Advanced Linux Sound Architecture version 0.5.x.",
 	AO_FMT_NATIVE,

Modified: trunk/ao/src/plugins/alsa09/ao_alsa09.c
===================================================================
--- trunk/ao/src/plugins/alsa09/ao_alsa09.c	2005-07-12 11:00:10 UTC (rev 9561)
+++ trunk/ao/src/plugins/alsa09/ao_alsa09.c	2005-07-12 19:56:06 UTC (rev 9562)
@@ -44,7 +44,7 @@
 
 /* the period time is calculated if not given as an option
  * note, playback starts after four of these are in the buffer */
-#define AO_ALSA_PERIOD_TIME 0
+#define AO_ALSA_PERIOD_TIME 50
 
 /* number of samples between interrupts
  * supplying a period_time to ao overrides the use of this  */
@@ -75,7 +75,7 @@
 {
 	AO_TYPE_LIVE,
 	"Advanced Linux Sound Architecture (ALSA) output",
-	"alsa09",
+	"alsa",
 	"Bill Currie <bill at taniwha.org>/Kevin Cody, Jr. <kevinc at wuff.dhs.org>",
 	"Outputs to the Advanced Linux Sound Architecture version 0.9.x.",
 	AO_FMT_NATIVE,
@@ -455,8 +455,8 @@
 		/* try to write the entire buffer at once */
 		err = internal->writei(internal->pcm_handle, ptr, len);
 
-		/* it's possible that no data was transferred */
-		if (err == -EAGAIN) {
+		/* no data transferred or interrupt signal */
+		if (err == -EAGAIN || err == -EINTR) {
 			continue;
 		}
 



More information about the commits mailing list