From c44715fe2141868b5a6f1cfd1913e7c467cff8f2 Mon Sep 17 00:00:00 2001 From: Ragnvald Maartmann-Moe IV Date: Fri, 8 Dec 2000 00:04:44 +0000 Subject: [PATCH] Fix use of read/write to write-only for sound, and whitespace cleanup. --- source/snd_oss.c | 122 +++++++++++++++++++++++------------------------ 1 file changed, 61 insertions(+), 61 deletions(-) diff --git a/source/snd_oss.c b/source/snd_oss.c index ab16935..cb7d8c4 100644 --- a/source/snd_oss.c +++ b/source/snd_oss.c @@ -54,10 +54,10 @@ qboolean SNDDMA_Init(void) { int rc; - int fmt; + int fmt; int tmp; - int i; - char *s; + int i; + char *s; struct audio_buf_info info; int caps; @@ -65,16 +65,17 @@ qboolean SNDDMA_Init(void) // open /dev/dsp, confirm capability to mmap, and get size of dma buffer - audio_fd = open("/dev/dsp", O_RDWR); - if (audio_fd < 0) +// audio_fd = open("/dev/dsp", O_RDWR); + audio_fd = open("/dev/dsp", O_WRONLY); + if (audio_fd < 0) { perror("/dev/dsp"); - Con_Printf("Could not open /dev/dsp\n"); + Con_Printf("Could not open /dev/dsp\n"); return 0; } - rc = ioctl(audio_fd, SNDCTL_DSP_RESET, 0); - if (rc < 0) + rc = ioctl(audio_fd, SNDCTL_DSP_RESET, 0); + if (rc < 0) { perror("/dev/dsp"); Con_Printf("Could not reset /dev/dsp\n"); @@ -97,48 +98,48 @@ qboolean SNDDMA_Init(void) return 0; } - if (ioctl(audio_fd, SNDCTL_DSP_GETOSPACE, &info)==-1) - { - perror("GETOSPACE"); + if (ioctl(audio_fd, SNDCTL_DSP_GETOSPACE, &info)==-1) + { + perror("GETOSPACE"); Con_Printf("Um, can't do GETOSPACE?\n"); close(audio_fd); return 0; - } - + } + shm = &sn; - shm->splitbuffer = 0; + shm->splitbuffer = 0; // set sample bits & speed - s = getenv("QUAKE_SOUND_SAMPLEBITS"); - if (s) shm->samplebits = atoi(s); + s = getenv("QUAKE_SOUND_SAMPLEBITS"); + if (s) shm->samplebits = atoi(s); else if ((i = COM_CheckParm("-sndbits")) != 0) shm->samplebits = atoi(com_argv[i+1]); if (shm->samplebits != 16 && shm->samplebits != 8) - { - ioctl(audio_fd, SNDCTL_DSP_GETFMTS, &fmt); - if (fmt & AFMT_S16_LE) shm->samplebits = 16; - else if (fmt & AFMT_U8) shm->samplebits = 8; - } + { + ioctl(audio_fd, SNDCTL_DSP_GETFMTS, &fmt); + if (fmt & AFMT_S16_LE) shm->samplebits = 16; + else if (fmt & AFMT_U8) shm->samplebits = 8; + } - s = getenv("QUAKE_SOUND_SPEED"); - if (s) shm->speed = atoi(s); + s = getenv("QUAKE_SOUND_SPEED"); + if (s) shm->speed = atoi(s); else if ((i = COM_CheckParm("-sndspeed")) != 0) shm->speed = atoi(com_argv[i+1]); - else - { - for (i=0 ; ispeed = tryrates[i]; - } + else + { + for (i=0 ; ispeed = tryrates[i]; + } - s = getenv("QUAKE_SOUND_CHANNELS"); - if (s) shm->channels = atoi(s); + s = getenv("QUAKE_SOUND_CHANNELS"); + if (s) shm->channels = atoi(s); else if ((i = COM_CheckParm("-sndmono")) != 0) shm->channels = 1; else if ((i = COM_CheckParm("-sndstereo")) != 0) shm->channels = 2; - else shm->channels = 2; + else shm->channels = 2; shm->samples = info.fragstotal * info.fragsize / (shm->samplebits/8); shm->submission_chunk = 1; @@ -158,52 +159,52 @@ qboolean SNDDMA_Init(void) tmp = 0; if (shm->channels == 2) tmp = 1; - rc = ioctl(audio_fd, SNDCTL_DSP_STEREO, &tmp); - if (rc < 0) - { + rc = ioctl(audio_fd, SNDCTL_DSP_STEREO, &tmp); + if (rc < 0) + { perror("/dev/dsp"); - Con_Printf("Could not set /dev/dsp to stereo=%d", shm->channels); + Con_Printf("Could not set /dev/dsp to stereo=%d", shm->channels); close(audio_fd); - return 0; - } + return 0; + } if (tmp) shm->channels = 2; else shm->channels = 1; - rc = ioctl(audio_fd, SNDCTL_DSP_SPEED, &shm->speed); - if (rc < 0) - { + rc = ioctl(audio_fd, SNDCTL_DSP_SPEED, &shm->speed); + if (rc < 0) + { perror("/dev/dsp"); - Con_Printf("Could not set /dev/dsp speed to %d", shm->speed); + Con_Printf("Could not set /dev/dsp speed to %d", shm->speed); close(audio_fd); - return 0; - } + return 0; + } - if (shm->samplebits == 16) - { - rc = AFMT_S16_LE; - rc = ioctl(audio_fd, SNDCTL_DSP_SETFMT, &rc); - if (rc < 0) + if (shm->samplebits == 16) + { + rc = AFMT_S16_LE; + rc = ioctl(audio_fd, SNDCTL_DSP_SETFMT, &rc); + if (rc < 0) { perror("/dev/dsp"); Con_Printf("Could not support 16-bit data. Try 8-bit.\n"); close(audio_fd); return 0; } - } - else if (shm->samplebits == 8) - { - rc = AFMT_U8; - rc = ioctl(audio_fd, SNDCTL_DSP_SETFMT, &rc); - if (rc < 0) + } + else if (shm->samplebits == 8) + { + rc = AFMT_U8; + rc = ioctl(audio_fd, SNDCTL_DSP_SETFMT, &rc); + if (rc < 0) { perror("/dev/dsp"); Con_Printf("Could not support 8-bit data.\n"); close(audio_fd); return 0; } - } + } else { perror("/dev/dsp"); @@ -214,8 +215,8 @@ qboolean SNDDMA_Init(void) // toggle the trigger & start her up - tmp = 0; - rc = ioctl(audio_fd, SNDCTL_DSP_SETTRIGGER, &tmp); + tmp = 0; + rc = ioctl(audio_fd, SNDCTL_DSP_SETTRIGGER, &tmp); if (rc < 0) { perror("/dev/dsp"); @@ -223,8 +224,8 @@ qboolean SNDDMA_Init(void) close(audio_fd); return 0; } - tmp = PCM_ENABLE_OUTPUT; - rc = ioctl(audio_fd, SNDCTL_DSP_SETTRIGGER, &tmp); + tmp = PCM_ENABLE_OUTPUT; + rc = ioctl(audio_fd, SNDCTL_DSP_SETTRIGGER, &tmp); if (rc < 0) { perror("/dev/dsp"); @@ -282,4 +283,3 @@ Send sound to device if buffer isn't really the dma buffer void SNDDMA_Submit(void) { } -