Date: Sat, 9 Oct 2004 02:46:18 +0300 (EEST)
authorSam Lantinga
Sat, 09 Oct 2004 22:11:45 +0000
changeset 960eec28a5278be
parent 959 51ec8fc8bedb
child 961 185acc07127a
Date: Sat, 9 Oct 2004 02:46:18 +0300 (EEST)
From: Hannu Savolainen
Subject: SDL uses obsolete OSS features

I was trying to compile SDL against the latest OSS version. It appeared
that SDL 1.2.7 is using a very old SOUND_PCM_WRITE_RATE ioctl that is
obsolete and has been removed from OSS. The right ioctl to call is
SNDCTL_DSP_SPEED. Attached is a patch (works with all OSS versions).
src/audio/dma/SDL_dmaaudio.c
src/audio/dsp/SDL_dspaudio.c
     1.1 --- a/src/audio/dma/SDL_dmaaudio.c	Fri Oct 08 09:08:32 2004 +0000
     1.2 +++ b/src/audio/dma/SDL_dmaaudio.c	Sat Oct 09 22:11:45 2004 +0000
     1.3 @@ -301,7 +301,7 @@
     1.4  
     1.5  	/* Set the DSP frequency */
     1.6  	value = spec->freq;
     1.7 -	if ( ioctl(audio_fd, SOUND_PCM_WRITE_RATE, &value) < 0 ) {
     1.8 +	if ( ioctl(audio_fd, SNDCTL_DSP_SPEED, &value) < 0 ) {
     1.9  		SDL_SetError("Couldn't set audio frequency");
    1.10  		return(-1);
    1.11  	}
     2.1 --- a/src/audio/dsp/SDL_dspaudio.c	Fri Oct 08 09:08:32 2004 +0000
     2.2 +++ b/src/audio/dsp/SDL_dspaudio.c	Sat Oct 09 22:11:45 2004 +0000
     2.3 @@ -309,7 +309,7 @@
     2.4  
     2.5  	/* Set the DSP frequency */
     2.6  	value = spec->freq;
     2.7 -	if ( ioctl(audio_fd, SOUND_PCM_WRITE_RATE, &value) < 0 ) {
     2.8 +	if ( ioctl(audio_fd, SNDCTL_DSP_SPEED, &value) < 0 ) {
     2.9  		SDL_SetError("Couldn't set audio frequency");
    2.10  		return(-1);
    2.11  	}