diff options
| author | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-07-08 02:24:48 +0000 |
|---|---|---|
| committer | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-07-08 02:24:48 +0000 |
| commit | 6017b9dc83806e4e9a4a8cc9a5df6a57b9f72b06 (patch) | |
| tree | e228833b45e5ff8ff871712afd35ff079c1b8ee6 /plugins | |
| parent | 2e61352b441ad25b01cf574269cda55d7944ac47 (diff) | |
| download | pcsxr-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.c | 16 |
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, ¶meter); parameter = CdrSpeed * 177; + if (parameter == 0) parameter = CDR_MAX_SPEED; + ioctl(h, CDRIOCREADSPEED, ¶meter); - ioctl(h, CDRIOCSETBLOCKSIZE, &bsize); + parameter = CD_FRAMESIZE_RAW; + ioctl(h, CDRIOCSETBLOCKSIZE, ¶meter); } } @@ -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, ¶meter); + + parameter = CDR_MAX_SPEED; + ioctl(h, CDRIOCREADSPEED, ¶meter); close(handle); } |
