summaryrefslogtreecommitdiff
path: root/audio
diff options
context:
space:
mode:
authorMaxim Sobolev <sobomax@FreeBSD.org>2000-05-24 08:26:15 +0000
committerMaxim Sobolev <sobomax@FreeBSD.org>2000-05-24 08:26:15 +0000
commit40e295b0f73f7fe0585861a82586a61a5b10b75c (patch)
treeeaa9b334b4b414cd9e2d2809bd1cdb20c9fe7409 /audio
parentAdd junkfilter, junk email filtering software for procmail. (diff)
Provide a small workarround to fix a bug in the pcm driver. The driver seems
need at least two write() calls for sound to be actually played. I have notified Cameron Grant <cg@FreeBSD.org> about the issue.
Notes
Notes: svn path=/head/; revision=28724
Diffstat (limited to 'audio')
-rw-r--r--audio/wsoundserver/files/patch-ae44
1 files changed, 44 insertions, 0 deletions
diff --git a/audio/wsoundserver/files/patch-ae b/audio/wsoundserver/files/patch-ae
new file mode 100644
index 000000000000..8fbf4667cc7e
--- /dev/null
+++ b/audio/wsoundserver/files/patch-ae
@@ -0,0 +1,44 @@
+--- wslib/audio_voxware.c.orig Fri Mar 31 23:14:40 2000
++++ wslib/audio_voxware.c Wed May 24 11:08:24 2000
+@@ -403,6 +403,7 @@
+ long blkFrames; /* number of frames in current audio block */
+ int blockSize = 8192; /* Size of an audio block buffer in frames */
+ int i;
++ u_int8_t fakebuffer[2] = {0, 0};
+
+ #ifdef DEBUG
+ fprintf(stderr, " >> writing data\n");
+@@ -413,7 +414,11 @@
+ SErrorCode = SERR_NOMEMORY;
+ return -1;
+ }
+-
++
++ /* Following line is a simple workarround for buggy pcm driver, which seens need at least to write()
++ calls for sound to be actually played */
++ write(audiofd, fakebuffer, 2);
++
+ curFrame = 0;
+ while (curFrame < afInfo->FrameCount) {
+ if ((blkFrames = (afInfo->FrameCount - curFrame)) > blockSize) {
+@@ -503,6 +508,7 @@
+ long blkFrames; /* number of frames in current audio block */
+ int blockSize = 4096; /* Size of an audio block buffer in frames */
+ int i;
++ u_int16_t fakebuffer[2] = {0, 0};
+
+ #ifdef DEBUG
+ fprintf(stderr, " >> writing data\n");
+@@ -513,7 +519,11 @@
+ SErrorCode = SERR_NOMEMORY;
+ return -1;
+ }
+-
++
++ /* Following line is a simple workarround for buggy pcm driver, which seens need at least to write()
++ calls for sound to be actually played */
++ write(audiofd, fakebuffer, 4);
++
+ curFrame = 0;
+ while (curFrame < afInfo->FrameCount) {
+ if ((blkFrames = (afInfo->FrameCount - curFrame)) > blockSize) {