File diff r7169:b87d36998a2d → r7170:38b143754b40
src/sound/win32_s.cpp
Show inline comments
 
@@ -7,12 +7,14 @@
 
#include "../mixer.h"
 
#include "../helpers.hpp"
 
#include "win32_s.h"
 
#include <windows.h>
 
#include <mmsystem.h>
 

	
 
static FSoundDriver_Win32 iFSoundDriver_Win32;
 

	
 
static HWAVEOUT _waveout;
 
static WAVEHDR _wave_hdr[2];
 
static int _bufsize;
 

	
 
static void PrepareHeader(WAVEHDR *hdr)
 
{
 
@@ -45,13 +47,13 @@ static void CALLBACK waveOutProc(HWAVEOU
 
			if (_waveout != NULL) FillHeaders();
 
			break;
 
		default: break;
 
	}
 
}
 

	
 
static const char *Win32SoundStart(const char* const* parm)
 
const char *SoundDriver_Win32::Start(const char* const* parm)
 
{
 
	WAVEFORMATEX wfex;
 
	wfex.wFormatTag = WAVE_FORMAT_PCM;
 
	wfex.nChannels = 2;
 
	wfex.wBitsPerSample = 16;
 
	wfex.nSamplesPerSec = GetDriverParamInt(parm, "hz", 11025);
 
@@ -66,21 +68,16 @@ static const char *Win32SoundStart(const
 
	PrepareHeader(&_wave_hdr[0]);
 
	PrepareHeader(&_wave_hdr[1]);
 
	FillHeaders();
 
	return NULL;
 
}
 

	
 
static void Win32SoundStop()
 
void SoundDriver_Win32::Stop()
 
{
 
	HWAVEOUT waveout = _waveout;
 

	
 
	_waveout = NULL;
 
	waveOutReset(waveout);
 
	waveOutUnprepareHeader(waveout, &_wave_hdr[0], sizeof(WAVEHDR));
 
	waveOutUnprepareHeader(waveout, &_wave_hdr[1], sizeof(WAVEHDR));
 
	waveOutClose(waveout);
 
}
 

	
 
const HalSoundDriver _win32_sound_driver = {
 
	Win32SoundStart,
 
	Win32SoundStop,
 
};