From 067dbe9f695cbb9f819b07a5cc9fd5b765b1e28b Mon Sep 17 00:00:00 2001 From: "SND\\weimingzhi_cp" Date: Sat, 5 Sep 2009 05:03:19 +0000 Subject: git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@29006 e17a0e51-4ae3-4d35-97c3-1a29b211df97 --- libpcsxcore/cdriso.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'libpcsxcore') diff --git a/libpcsxcore/cdriso.c b/libpcsxcore/cdriso.c index 66c9f3aa..21ecd95d 100644 --- a/libpcsxcore/cdriso.c +++ b/libpcsxcore/cdriso.c @@ -20,6 +20,7 @@ #include "psxcommon.h" #include "plugins.h" +#include "cdrom.h" #ifdef _WIN32 #include @@ -144,7 +145,16 @@ static void *playthread(void *param) break; } - SPU_playCDDAchannel((short *)sndbuffer, d); + if (!cdr.Muted) { + SPU_playCDDAchannel((short *)sndbuffer, d); + } + else { +#ifdef _WIN32 + Sleep(1000 * d / CD_FRAMESIZE_RAW / 75 - 80); +#else + usleep(1000 * d / CD_FRAMESIZE_RAW / 75 * 1000); +#endif + } } #ifdef _WIN32 @@ -227,7 +237,10 @@ static int parsetoc(const char *isofile) { } if ((fi = fopen(tocname, "r")) == NULL) { - return -1; + sprintf(tocname, "%s.toc", isofile); + if ((fi = fopen(tocname, "r")) == NULL) { + return -1; + } } memset(&ti, 0, sizeof(ti)); -- cgit v1.2.3