summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-07-08 02:24:48 +0000
committerSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-07-08 02:24:48 +0000
commit6017b9dc83806e4e9a4a8cc9a5df6a57b9f72b06 (patch)
treee228833b45e5ff8ff871712afd35ff079c1b8ee6 /plugins
parent2e61352b441ad25b01cf574269cda55d7944ac47 (diff)
downloadpcsxr-6017b9dc83806e4e9a4a8cc9a5df6a57b9f72b06.tar.gz
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@54334 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'plugins')
-rw-r--r--plugins/dfcdrom/cdr-freebsd.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/plugins/dfcdrom/cdr-freebsd.c b/plugins/dfcdrom/cdr-freebsd.c
index d97f76ff..0441d567 100644
--- a/plugins/dfcdrom/cdr-freebsd.c
+++ b/plugins/dfcdrom/cdr-freebsd.c
@@ -26,7 +26,7 @@
char *LibName = N_("CD-ROM Drive Reader");
int OpenCdHandle(const char *dev) {
- int h, parameter, bsize = CD_FRAMESIZE_RAW;
+ int h, parameter;
char spindown;
h = open(dev, O_RDONLY);
@@ -42,9 +42,12 @@ int OpenCdHandle(const char *dev) {
ioctl(h, IOCATASSPINDOWN, &parameter);
parameter = CdrSpeed * 177;
+ if (parameter == 0) parameter = CDR_MAX_SPEED;
+
ioctl(h, CDRIOCREADSPEED, &parameter);
- ioctl(h, CDRIOCSETBLOCKSIZE, &bsize);
+ parameter = CD_FRAMESIZE_RAW;
+ ioctl(h, CDRIOCSETBLOCKSIZE, &parameter);
}
}
@@ -52,8 +55,13 @@ int OpenCdHandle(const char *dev) {
}
void CloseCdHandle(int handle) {
- int spindown = 0;
- ioctl(handle, IOCATASSPINDOWN, &spindown);
+ int parameter;
+
+ parameter = 0;
+ ioctl(handle, IOCATASSPINDOWN, &parameter);
+
+ parameter = CDR_MAX_SPEED;
+ ioctl(h, CDRIOCREADSPEED, &parameter);
close(handle);
}