Audio Playback problem in SCSI Miniport

Hi,

I am developing a SCSI Miniport Driver for a Virtual CDROM device.

I am able to load the SCSI Miniport Driver and also to create Virtual
CD-ROM Drives. I have also mounted the Audio CD and the Table of Contents
and initial data is passed correctly and Windows Explorer is showing all
the Audio Tracks.

When I do “play” on the Audio CD from the Virtual Drive, I am getting the
SCSIOP_PLAY_AUDIO_MSF Command in the StartIO Routine and the audio tracks
also get loaded onto the CD Player. But when I play a track, I do not get
any output.

I could not understand how to send the Audio Data to the CD Player
application for playing the CD Track.

Do I need to Directly Open the Audio Port and Start Playing or What should
I do to make it work. Do I need to support any specific SCSIOP command to
make this work.

Also I would like to know what are the SCSI commands I need to support for
mounting a Data CD onto the Virtual drive.

Thanks in Advance.

Ran


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

I’m not sure about this, but my understanding is that SCSIOP_PLAY_AUDIO_MSF
is the command for playing audio CDs in “player” mode, through the cable
between the drive and the sound hardware. Hope someone can confirm or deny
that for us.

Phil

-----Original Message-----
From: xxxxx@vsnl.net [mailto:xxxxx@vsnl.net]
Sent: Friday, July 20, 2001 2:51 AM
To: NT Developers Interest List
Subject: [ntdev] Audio Playback problem in SCSI Miniport

Hi,

I am developing a SCSI Miniport Driver for a Virtual CDROM device.

I am able to load the SCSI Miniport Driver and also to create Virtual
CD-ROM Drives. I have also mounted the Audio CD and the Table of Contents
and initial data is passed correctly and Windows Explorer is showing all
the Audio Tracks.

When I do “play” on the Audio CD from the Virtual Drive, I am getting the
SCSIOP_PLAY_AUDIO_MSF Command in the StartIO Routine and the audio tracks
also get loaded onto the CD Player. But when I play a track, I do not get
any output.

I could not understand how to send the Audio Data to the CD Player
application for playing the CD Track.

Do I need to Directly Open the Audio Port and Start Playing or What should
I do to make it work. Do I need to support any specific SCSIOP command to
make this work.

Also I would like to know what are the SCSI commands I need to support for
mounting a Data CD onto the Virtual drive.

Thanks in Advance.

Ran


You are currently subscribed to ntdev as: xxxxx@intel.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Hi,

You need to dump the audio data directly to the sound card digigal input.

About what commands you need to support. There are two ways:

  1. Get SCSI-2 spec and implement all the commands listed as “MANDATORY” for
    the type of the device you emulate
  2. Write a SCSI filter driver over the real device you wish to eumlate.
    Catch the ones send to the device and implmenet only them in your virtual
    hardware.

Regards,
Anton Kolomyeytsev

CoolDev.Com - Toolkits for Network & Storage Kernel Software Developers
“KoolSockets” & “KoolStorage” - TDI Client, Kernel Sockets, iSCSI port
www.CoolDev.Com xxxxx@CoolDev.Com xxxxx@CoolDev.Com

On 07/20/01, “xxxxx@vsnl.net” wrote:

Hi,

I am developing a SCSI Miniport Driver for a Virtual CDROM device.

I am able to load the SCSI Miniport Driver and also to create Virtual
CD-ROM Drives. I have also mounted the Audio CD and the Table of Contents
and initial data is passed correctly and Windows Explorer is showing all
the Audio Tracks.

When I do “play” on the Audio CD from the Virtual Drive, I am getting the
SCSIOP_PLAY_AUDIO_MSF Command in the StartIO Routine and the audio tracks
also get loaded onto the CD Player. But when I play a track, I do not get
any output.

I could not understand how to send the Audio Data to the CD Player
application for playing the CD Track.

Do I need to Directly Open the Audio Port and Start Playing or What should
I do to make it work. Do I need to support any specific SCSIOP command to
make this work.

Also I would like to know what are the SCSI commands I need to support for
mounting a Data CD onto the Virtual drive.

Thanks in Advance.

Ran


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

> When I do “play” on the Audio CD from the Virtual Drive, I am getting the

SCSIOP_PLAY_AUDIO_MSF Command in the StartIO Routine and the audio tracks
also get loaded onto the CD Player. But when I play a track, I do not get
any output.

This command forces the drive to play audio to its front headphone connector
and to the wire connecting CD-ROM to the soundcard.
It does not cause any data transfers over the IDE/SCSI bus.
Use raw read SCSIOPs or IOCTLs to read the audio data from CD to the host
memory.

Max


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

So data is readen from the CD (actually the inquirer told he writes virtual
CD so I guess there is no CD at all…). Where do you want this data stream
to be put? What do you call “host’s memory”?

Use raw read SCSIOPs or IOCTLs to read the audio data from CD to the host
memory.


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Hi,

Thanks for all the replies.

The SCSIOP_PLAY_AUDIO_MSF command is infact used for playing audio CDs in
“player” mode i.e through the cable between the drive and the sound
hardware.

Regarding the second problem we were facing about mounting Data CD’s onto
the virtual drive, which SCSI commands should we support in our miniport.
We are not getting SCSIOP_READ for the file image (present on the disk,) in
our miniport, which we are trying to read. Any ideas what could be reason
for this ?

Also how do we mount the disk CD image from the User mode onto the virtual
drive ? Do we need to create a system thread (PsCreateSystemThread) in the
miniport to do this ?

Thanks in advance.

Ran


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com