Well, it should fix audio, at least on my machine.
need test git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2761 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
bffe311b3e
commit
542bd73ba8
|
@ -19,7 +19,10 @@
|
||||||
#include <dxerr.h>
|
#include <dxerr.h>
|
||||||
#include "DSoundStream.h"
|
#include "DSoundStream.h"
|
||||||
|
|
||||||
|
#include "../../../PluginSpecs/pluginspecs_dsp.h"
|
||||||
|
|
||||||
//extern bool log_ai;
|
//extern bool log_ai;
|
||||||
|
extern DSPInitialize g_dspInitialize;
|
||||||
|
|
||||||
bool DSound::CreateBuffer()
|
bool DSound::CreateBuffer()
|
||||||
{
|
{
|
||||||
|
@ -41,6 +44,7 @@ bool DSound::CreateBuffer()
|
||||||
dsbdesc.dwFlags = DSBCAPS_GETCURRENTPOSITION2 | DSBCAPS_STICKYFOCUS;
|
dsbdesc.dwFlags = DSBCAPS_GETCURRENTPOSITION2 | DSBCAPS_STICKYFOCUS;
|
||||||
dsbdesc.dwBufferBytes = bufferSize = BUFSIZE;
|
dsbdesc.dwBufferBytes = bufferSize = BUFSIZE;
|
||||||
dsbdesc.lpwfxFormat = (WAVEFORMATEX *)&pcmwf;
|
dsbdesc.lpwfxFormat = (WAVEFORMATEX *)&pcmwf;
|
||||||
|
dsbdesc.guid3DAlgorithm = DS3DALG_DEFAULT;
|
||||||
|
|
||||||
HRESULT res = ds->CreateSoundBuffer(&dsbdesc, &dsBuffer, NULL);
|
HRESULT res = ds->CreateSoundBuffer(&dsbdesc, &dsBuffer, NULL);
|
||||||
if (SUCCEEDED(res))
|
if (SUCCEEDED(res))
|
||||||
|
@ -103,7 +107,8 @@ void DSound::SoundLoop()
|
||||||
{
|
{
|
||||||
currentPos = 0;
|
currentPos = 0;
|
||||||
lastPos = 0;
|
lastPos = 0;
|
||||||
dsBuffer->Play(0, 0, DSBPLAY_LOOPING);
|
|
||||||
|
HRESULT hr = dsBuffer->Play(0, 0, DSBPLAY_LOOPING);
|
||||||
while (!threadData)
|
while (!threadData)
|
||||||
{
|
{
|
||||||
// No blocking inside the csection
|
// No blocking inside the csection
|
||||||
|
@ -135,8 +140,10 @@ bool DSound::Start()
|
||||||
soundSyncEvent.Init();
|
soundSyncEvent.Init();
|
||||||
if (FAILED(DirectSoundCreate8(0, &ds, 0)))
|
if (FAILED(DirectSoundCreate8(0, &ds, 0)))
|
||||||
return false;
|
return false;
|
||||||
if (hWnd)
|
if (g_dspInitialize.hWnd)
|
||||||
ds->SetCooperativeLevel((HWND)hWnd, DSSCL_NORMAL);
|
{
|
||||||
|
HRESULT hr = ds->SetCooperativeLevel((HWND)g_dspInitialize.hWnd, DSSCL_PRIORITY);
|
||||||
|
}
|
||||||
if (!CreateBuffer())
|
if (!CreateBuffer())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue