Make the sample rate queryable as a sysprop

This commit is contained in:
Henrik Rydgard 2015-01-11 14:18:40 +01:00
parent cac7a2feed
commit 1b055fd07e
4 changed files with 17 additions and 6 deletions

View File

@ -50,13 +50,16 @@ private:
// TODO: Get rid of this
static DSoundState *g_dsound;
inline int RoundDown128(int x) {
return x & (~127);
}
int DSound_GetSampleRate() {
return g_dsound->GetSampleRate();
if (g_dsound) {
return g_dsound->GetSampleRate();
} else {
return 0;
}
}
bool DSoundState::createBuffer() {
@ -246,7 +249,9 @@ int DSoundState::GetCurSample() {
}
void DSound_UpdateSound() {
g_dsound->UpdateSound();
if (g_dsound) {
g_dsound->UpdateSound();
}
}
bool DSound_StartSound(HWND window, StreamCallback _callback, int sampleRate) {

View File

@ -5,7 +5,7 @@
typedef int (*StreamCallback)(short *buffer, int numSamples, int bits, int rate, int channels);
bool DSound_StartSound(HWND window, StreamCallback _callback, int sampleRate = 44100);
bool DSound_StartSound(HWND window, StreamCallback _callback, int sampleRate);
void DSound_UpdateSound();
void DSound_StopSound();

View File

@ -30,6 +30,7 @@
#include "Core/Config.h"
#include "Core/SaveState.h"
#include "Windows/EmuThread.h"
#include "Windows/DSoundStream.h"
#include "ext/disarm.h"
#include "Common/LogManager.h"
@ -256,7 +257,12 @@ std::string System_GetProperty(SystemProperty prop) {
}
int System_GetPropertyInt(SystemProperty prop) {
return -1;
switch (prop) {
case SYSPROP_AUDIO_SAMPLE_RATE:
return DSound_GetSampleRate();
default:
return -1;
}
}
void System_SendMessage(const char *command, const char *parameter) {

2
native

@ -1 +1 @@
Subproject commit 9201103abe872dcdc50e0d8331f96d9044b8f0b4
Subproject commit 1b5bf730caffa702de34a6db9f0ae93fbbd88eed