(svn r17140) -Change: allow higher sample rate and higher quality samples. Based on work by orudge.
This commit is contained in:
@@ -57,7 +57,7 @@ const char *SoundDriver_Allegro::Start(const char * const *parm)
|
||||
return "No sound card found";
|
||||
}
|
||||
|
||||
_stream = play_audio_stream(BUFFER_SIZE, 16, true, 11025, 255, 128);
|
||||
_stream = play_audio_stream(BUFFER_SIZE, 16, true, 44100, 255, 128);
|
||||
MxInitialize(11025);
|
||||
return NULL;
|
||||
}
|
||||
|
@@ -47,7 +47,7 @@ const char *SoundDriver_Cocoa::Start(const char * const *parm)
|
||||
requestedDesc.mFormatID = kAudioFormatLinearPCM;
|
||||
requestedDesc.mFormatFlags = kLinearPCMFormatFlagIsPacked;
|
||||
requestedDesc.mChannelsPerFrame = 2;
|
||||
requestedDesc.mSampleRate = GetDriverParamInt(parm, "hz", 11025);
|
||||
requestedDesc.mSampleRate = GetDriverParamInt(parm, "hz", 44100);
|
||||
|
||||
requestedDesc.mBitsPerChannel = 16;
|
||||
requestedDesc.mFormatFlags |= kLinearPCMFormatFlagIsSignedInteger;
|
||||
|
@@ -25,7 +25,7 @@ const char *SoundDriver_SDL::Start(const char * const *parm)
|
||||
const char *s = SdlOpen(SDL_INIT_AUDIO);
|
||||
if (s != NULL) return s;
|
||||
|
||||
spec.freq = GetDriverParamInt(parm, "hz", 11025);
|
||||
spec.freq = GetDriverParamInt(parm, "hz", 44100);
|
||||
spec.format = AUDIO_S16SYS;
|
||||
spec.channels = 2;
|
||||
spec.samples = 512;
|
||||
|
@@ -56,11 +56,11 @@ const char *SoundDriver_Win32::Start(const char * const *parm)
|
||||
wfex.wFormatTag = WAVE_FORMAT_PCM;
|
||||
wfex.nChannels = 2;
|
||||
wfex.wBitsPerSample = 16;
|
||||
wfex.nSamplesPerSec = GetDriverParamInt(parm, "hz", 11025);
|
||||
wfex.nSamplesPerSec = GetDriverParamInt(parm, "hz", 44100);
|
||||
wfex.nBlockAlign = (wfex.nChannels * wfex.wBitsPerSample) / 8;
|
||||
wfex.nAvgBytesPerSec = wfex.nSamplesPerSec * wfex.nBlockAlign;
|
||||
|
||||
_bufsize = GetDriverParamInt(parm, "bufsize", (GB(GetVersion(), 0, 8) > 5) ? 2048 : 1024);
|
||||
_bufsize = GetDriverParamInt(parm, "bufsize", (GB(GetVersion(), 0, 8) > 5) ? 8192 : 4096);
|
||||
|
||||
if (waveOutOpen(&_waveout, WAVE_MAPPER, &wfex, (DWORD_PTR)&waveOutProc, 0, CALLBACK_FUNCTION) != MMSYSERR_NOERROR)
|
||||
return "waveOutOpen failed";
|
||||
|
Reference in New Issue
Block a user