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

View File

@ -30,6 +30,7 @@
#include "Core/Config.h" #include "Core/Config.h"
#include "Core/SaveState.h" #include "Core/SaveState.h"
#include "Windows/EmuThread.h" #include "Windows/EmuThread.h"
#include "Windows/DSoundStream.h"
#include "ext/disarm.h" #include "ext/disarm.h"
#include "Common/LogManager.h" #include "Common/LogManager.h"
@ -256,7 +257,12 @@ std::string System_GetProperty(SystemProperty prop) {
} }
int System_GetPropertyInt(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) { void System_SendMessage(const char *command, const char *parameter) {

2
native

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