summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-09-05 19:16:33 +0000
committerSND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-09-05 19:16:33 +0000
commita234964379ca2feffdbd20a4a82d7d7e1280e8b2 (patch)
tree68e3093f13781068752c11ee98d572dd9d67c1d9
parent1b4889d1a4bc9cbbcc71d1540d5c5830b7fbd841 (diff)
downloadpcsxr-a234964379ca2feffdbd20a4a82d7d7e1280e8b2.tar.gz
cdriso - fix cdda play (subq reading). Thanks edgbla.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@56852 e17a0e51-4ae3-4d35-97c3-1a29b211df97
-rw-r--r--libpcsxcore/cdriso.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/libpcsxcore/cdriso.c b/libpcsxcore/cdriso.c
index 6e1c4dd5..6c6f428e 100644
--- a/libpcsxcore/cdriso.c
+++ b/libpcsxcore/cdriso.c
@@ -143,7 +143,8 @@ static void *playthread(void *param)
#endif
{
long d, t, i, s;
- unsigned char tmp;
+ unsigned char tmp;
+ int sec;
t = GetTickCount();
@@ -163,6 +164,8 @@ static void *playthread(void *param)
t = GetTickCount() + CDDA_FRAMETIME;
+ sec = cddaCurOffset / CD_FRAMESIZE_RAW;
+
if (subChanMixed) {
s = 0;
@@ -182,9 +185,8 @@ static void *playthread(void *param)
s = fread(sndbuffer, 1, sizeof(sndbuffer), cddaHandle);
if (subHandle != NULL) {
- // FIXME: sec?
- //fseek(subHandle, sec * SUB_FRAMESIZE, SEEK_SET);
- //fread(subbuffer, 1, SUB_FRAMESIZE, subHandle);
+ fseek(subHandle, sec * SUB_FRAMESIZE, SEEK_SET);
+ fread(subbuffer, 1, SUB_FRAMESIZE, subHandle);
}
}