cdriso: handle cdda playback on data tracks

git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@82224 e17a0e51-4ae3-4d35-97c3-1a29b211df97
This commit is contained in:
SND\notaz_cp 2013-01-12 21:07:37 +00:00
parent c59b7d800d
commit c288a602fc
2 changed files with 10 additions and 2 deletions

View File

@ -1295,10 +1295,18 @@ long CALLBACK ISOreadCDDA(unsigned char m, unsigned char s, unsigned char f, uns
cddaCurPos = msf2sec(msf);
// find current track index
for (track = numtracks; track > 1; track--) {
for (track = numtracks; ; track--) {
track_start = msf2sec(ti[track].start);
if (track_start <= cddaCurPos)
break;
if (track == 1)
break;
}
// data tracks play silent
if (ti[track].type != CDDA) {
memset(buffer, 0, CD_FRAMESIZE_RAW);
return 0;
}
file = 1;

View File

@ -659,7 +659,7 @@ void cdrPlayInterrupt()
if (!cdr.Play) return;
if (CDR_readCDDA && !cdr.Muted && cdr.CurTrack > 1) {
if (CDR_readCDDA && !cdr.Muted) {
CDR_readCDDA(cdr.SetSectorPlay[0], cdr.SetSectorPlay[1],
cdr.SetSectorPlay[2], cdr.Transfer);