summaryrefslogtreecommitdiff
path: root/libpcsxcore
diff options
context:
space:
mode:
authorSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2009-09-03 16:05:11 +0000
committerSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2009-09-03 16:05:11 +0000
commitaf520d80a1e7273753f77ede342a62e598408132 (patch)
treee80c84d5bb1f76b9dfbddb0ba3fbe8aa434cd45b /libpcsxcore
parentd77d08e81f97fa5c29b7101ee44d343cee53bf95 (diff)
downloadpcsxr-af520d80a1e7273753f77ede342a62e598408132.tar.gz
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@28793 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'libpcsxcore')
-rw-r--r--libpcsxcore/cdriso.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libpcsxcore/cdriso.c b/libpcsxcore/cdriso.c
index 0f1fbd15..8b292f45 100644
--- a/libpcsxcore/cdriso.c
+++ b/libpcsxcore/cdriso.c
@@ -37,6 +37,8 @@
#define SUB_FRAMESIZE 96
+#define CDDA_FRAMETIME (1000 * (sizeof(sndbuffer) / CD_FRAMESIZE_RAW) / 75)
+
FILE *cdHandle = NULL;
FILE *cddaHandle = NULL;
FILE *subHandle = NULL;
@@ -147,13 +149,16 @@ static void *playthread(void *param)
if (d <= 0) {
d = 1;
}
+ else if (d > CDDA_FRAMETIME) {
+ d = CDDA_FRAMETIME;
+ }
#ifdef _WIN32
Sleep(d);
#else
usleep(d);
#endif
- t = GetTickCount() + 1000 * (sizeof(sndbuffer) / CD_FRAMESIZE_RAW) / 75;
+ t = GetTickCount() + CDDA_FRAMETIME;
if ((d = fread(sndbuffer, 1, sizeof(sndbuffer), cddaHandle)) == 0) {
playing = 0;