summaryrefslogtreecommitdiff
path: root/games/mirrormagic/patches/patch-ad
diff options
context:
space:
mode:
Diffstat (limited to 'games/mirrormagic/patches/patch-ad')
-rw-r--r--games/mirrormagic/patches/patch-ad43
1 files changed, 43 insertions, 0 deletions
diff --git a/games/mirrormagic/patches/patch-ad b/games/mirrormagic/patches/patch-ad
new file mode 100644
index 00000000000..3534a7c40d5
--- /dev/null
+++ b/games/mirrormagic/patches/patch-ad
@@ -0,0 +1,43 @@
+$NetBSD: patch-ad,v 1.1 2001/07/05 22:13:08 kristerw Exp $
+--- src/libgame/sound.c.orig Sun Dec 31 11:47:19 2000
++++ src/libgame/sound.c Thu Jul 5 23:37:59 2001
+@@ -291,7 +291,30 @@
+ - 2 buffers / 512 bytes (giving 1/16 second resolution for 8 kHz)
+ - (with stereo the effective buffer size will shrink to 256)
+ => fragment_size = 0x00020009 */
++#if defined(PLATFORM_NETBSD)
++ {
++ audio_info_t a_info;
+
++ AUDIO_INITINFO(&a_info);
++ a_info.play.encoding = AUDIO_ENCODING_LINEAR8;
++ a_info.play.precision = 8;
++ a_info.play.channels = 2;
++ a_info.play.sample_rate = sample_rate;
++ a_info.blocksize = fragment_size;
++ if (ioctl(audio.device_fd, AUDIO_SETINFO, &a_info) < 0)
++ {
++ /* Try to disable stereo. */
++ a_info.play.channels = 1;
++ stereo = FALSE;
++ if (ioctl(audio.device_fd, AUDIO_SETINFO, &a_info) < 0)
++ {
++ Error(ERR_EXIT_SOUND_SERVER,
++ "cannot set sample rate of /dev/audio - no sounds");
++ playing_sounds = 0;
++ }
++ }
++ }
++#else
+ if (ioctl(audio.device_fd,SNDCTL_DSP_SETFRAGMENT,&fragment_spec) < 0)
+ Error(ERR_EXIT_SOUND_SERVER,
+ "cannot set fragment size of /dev/dsp - no sounds");
+@@ -319,7 +342,7 @@
+ if (ioctl(audio.device_fd, SNDCTL_DSP_GETBLKSIZE,&fragment_size) < 0)
+ Error(ERR_EXIT_SOUND_SERVER,
+ "cannot get fragment size of /dev/dsp - no sounds");
+-
++#endif
+ max_sample_size = fragment_size / (stereo ? 2 : 1);
+ }
+