diff options
author | Darkvater <darkvater@openttd.org> | 2007-02-12 21:55:10 +0000 |
---|---|---|
committer | Darkvater <darkvater@openttd.org> | 2007-02-12 21:55:10 +0000 |
commit | 4d4c1e05053b18a4fe3f1645567abf947b5fee0d (patch) | |
tree | 0f33d24a48c6bc70726b21200657287d3e9ba408 /src/sound/win32_s.cpp | |
parent | 2817acb4566ff30805990c4508c2e382b4745f35 (diff) | |
download | openttd-4d4c1e05053b18a4fe3f1645567abf947b5fee0d.tar.xz |
(svn r8691) -Cleanup: Some proper #endif comments for sound/music/video files, and a little elimination of magic numbers in Win32SoundStart
Diffstat (limited to 'src/sound/win32_s.cpp')
-rw-r--r-- | src/sound/win32_s.cpp | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/sound/win32_s.cpp b/src/sound/win32_s.cpp index 68194ad39..77d688eb4 100644 --- a/src/sound/win32_s.cpp +++ b/src/sound/win32_s.cpp @@ -42,29 +42,27 @@ static void CALLBACK waveOutProc(HWAVEOUT hwo, UINT uMsg, DWORD_PTR dwInstance, { switch (uMsg) { case WOM_DONE: - if (_waveout) FillHeaders(); - break; - - default: + if (_waveout != NULL) FillHeaders(); break; + default: break; } } static const char *Win32SoundStart(const char* const* parm) { WAVEFORMATEX wfex; - int hz; - - _bufsize = GetDriverParamInt(parm, "bufsize", 1024); - hz = GetDriverParamInt(parm, "hz", 11025); wfex.wFormatTag = WAVE_FORMAT_PCM; wfex.nChannels = 2; - wfex.nSamplesPerSec = hz; - wfex.nAvgBytesPerSec = hz * 2 * 2; - wfex.nBlockAlign = 4; wfex.wBitsPerSample = 16; + wfex.nSamplesPerSec = GetDriverParamInt(parm, "hz", 11025); + wfex.nBlockAlign = (wfex.nChannels * wfex.wBitsPerSample) / 8; + wfex.nAvgBytesPerSec = wfex.nSamplesPerSec * wfex.nBlockAlign; + + _bufsize = GetDriverParamInt(parm, "bufsize", 1024); + if (waveOutOpen(&_waveout, WAVE_MAPPER, &wfex, (DWORD_PTR)&waveOutProc, 0, CALLBACK_FUNCTION) != MMSYSERR_NOERROR) return "waveOutOpen failed"; + PrepareHeader(&_wave_hdr[0]); PrepareHeader(&_wave_hdr[1]); FillHeaders(); |