diff options
| author | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2009-09-05 05:03:19 +0000 |
|---|---|---|
| committer | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2009-09-05 05:03:19 +0000 |
| commit | 067dbe9f695cbb9f819b07a5cc9fd5b765b1e28b (patch) | |
| tree | 219de62b389a96f3d3cfc56a0a14e2e5968a7a02 | |
| parent | e981d45b93d19ac577adb215cf1339e89a76b174 (diff) | |
| download | pcsxr-067dbe9f695cbb9f819b07a5cc9fd5b765b1e28b.tar.gz | |
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@29006 e17a0e51-4ae3-4d35-97c3-1a29b211df97
| -rw-r--r-- | ChangeLog | 6 | ||||
| -rw-r--r-- | libpcsxcore/cdriso.c | 17 |
2 files changed, 21 insertions, 2 deletions
@@ -1,3 +1,9 @@ +September 5, 2009 Wei Mingzhi <weimingzhi@gmail.com> + + * libpcsxcore/cdriso.c: Don't feed CDDA data to the SPU plugin when CDDA + is muted, which fixes the "noise" in Final Fantasy 8. Also check for + image.bin.toc in addition to image.toc. + September 4, 2009 Wei Mingzhi <weimingzhi@gmail.com> * libpcsxcore/cdriso.c: Don't delay before feeding CDDA data to the SPU 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 <process.h> @@ -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)); |
