[Bug 20323] MacOS mcicda does not play audio CD

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Nov 18 11:42:34 CST 2009


http://bugs.winehq.org/show_bug.cgi?id=20323





--- Comment #3 from Jörg Höhle <hoehle at users.sourceforge.net>  2009-11-18 11:42:33 ---
>one on top of the NT ioctls, and
>the other on top of the Mac OS CDDA file system.
If you look at MCICDA, you already see 2 implementations: one using DirectSound
and IOCTL_RAW_READ, the other using IOCTL_PLAY_AUDIO.


It is entirely doable to write a file-based MCI cdaudio driver as a kind of
hybrid between mcicda and mciwave. As somebody pointed out in the mailing list,
Gnome-vfs and alike might also benefit from this (could somebody please expand
on this scenario?).

- The sound output I consider trivial -- forward it to wave audio.
  Perhaps write an ACM AIFF to PCM converter to integrate with the wave mapper.
Actually, I consider it a sort of a limitation of the mciwave driver that it is
hard-wired to RIFF formats. Perhaps it could be trivially changed to eat AIFF
as well as MS' RIFF.  Plenty of implementation choices.  Not a single ioctl
would be required (although preferable: don't scan all 20 .aiff files to sum up
the total playing time for status cdaudio length).  It makes for interesting
test cases as I'm not convinced the Wine MCI currently properly supports 2
devices of same type mcicda or mciwave (I'm almost sure it does not (yet)).

- The hard part (because I don't know this area) is the interaction with the
kernel. What must be done on the UNIX side of Wine to make the MS-API layer
believe there's a CD-ROM with a) audio-only data or b) mixed audio and file
data? How does this work with winecfg's virtual drives?  Esp. in case b), the
API must associate both file system access as well as track information with a
unique driver letter like D: (On MacOS, at the user level, you see 2 distinct
mount points in /Volumes/).

Apps typically call nothing more than (that's a real trace, not made up):
open cdaudio [sometimes with shareable]
set cdaudio time format tmsf
status cdaudio mode
status cdaudio number of tracks
play cdaudio from 1 to 2 notify
Or the same with MCI_OPEN etc.

-- So it's preferable that the first CD-ROM in Wine be the real one. (I wonder
how systems behave with 2 real drives, which seems quite common among PC
users).

-- 
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.


More information about the wine-bugs mailing list