http://bugs.winehq.org/show_bug.cgi?id=20323 --- Comment #4 from Jörg Höhle <hoehle(a)users.sourceforge.net> 2010-08-07 14:32:17 --- Created an attachment (id=30045) --> (http://bugs.winehq.org/attachment.cgi?id=30045) Log snippet around failing RAW_READ ioctl As of 1.3.0, the situation improve quite a bit. Most of comment #3 is obsolete. I see a possibility to implement mcicda solely with READ_TOC and RAW_READ. However Wine is not quite there yet: A. "open cdaudio alias c" fails in the MCI, see comment #0 I worked around this by explicitly setting the CD-ROM type in winecfg -- and leaving it open, because restarting Wine seems to reinitialise the type to "Automatic". B. TOC missing a 2 seconds offset? On native and Linux, "status c position start" typically yields "00:02:00" On MacOS, it's 00:00:00. It appears that all status c position track <N> are 2 seconds less than on native and Linux (for the same disk). I can't find where I once read that a CD-ROM has to start with a 2 seconds offset. C. RAW_READ fails here with an audio CD set c time format tmsf play c from 2 to 3 yields: cdrom:CDROM_DeviceIoControl 0x40 IOCTL_CDROM_RAW_READ 0x33e310 16 0x187658 91728 0x33de58 cdrom:CDROM_DeviceIoControl opening parent /dev/rdisk1 cdrom:CDROM_RawRead RAW_READ_INFO: DiskOffset=0,151994368 SectorCount=39 TrackMode=2 buffer=0x187658 len=91728 sz=0x33dd4c ntdll:FILE_GetNtStatus errno = 22 -- EINVAL RawRead is the topic of the present bug report. For now, avoid command like seek c to start/end/xyz status c position status c current track as they use ioctl not supported on the Mac. I claim that those ioctl are not needed on the Mac (nor Linux) for mcicda because I could implement it as follows: - position initially returns position start from the TOC, then what's being played. - current track initially returns 1, then what's played. - seek does no IOCTL_SEEK and simply (performs a range check based on the TOC and) remembers the position for playing and the status command. If RAW_READ would work, then all that would be left to do is a proper separation of the two CD playing modes that mcicda currently implements (which I'll write about in a new bug report): RAW_READ with dsound vs. IOCTL_CDROM_PLAY/PAUSE/STOP/RESUME/SEEK_AUDIO. Currently, the lack of separation causes the MCI commands to report inconsistent results (e.g. IOCTL SEEK and CURRENT_POSITION are independent from RAW_READ). -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.