This is at least the second time this has come up on this list. I've advised the technical writer of the issue. Frank Yerrace Microsoft Corporation This posting is provided "AS IS" with no warranties, and confers no rights. ________________________________ From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Jeff Pages Sent: Wednesday, November 12, 2003 9:44 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Does DRV_QUERYDEVICEINTERFACE work? If I may answer my own question, I've just got it to work by using a DeviceID number instead of a handle for the hwi parameter in waveInMessage. This in spite of the SDK documentation for waveInMessage saying that hwi is a "handle to the waveform-audio input device" and the DDK documentation saying it should work with either. Agh!! Jeff ----- Original Message ----- From: Jeff Pages <mailto:jeff@xxxxxxxxxxxxxxxx> To: wdmaudiodev@xxxxxxxxxxxxx Sent: Thursday, November 13, 2003 4:29 PM Subject: [wdmaudiodev] Does DRV_QUERYDEVICEINTERFACE work? I'm trying to use DRV_QUERYDEVICEINTERFACESIZE and DRV_QUERYDEVICEINTERFACE in a call to waveInMessage, as per the documentation in the current DDK under "Obtaining a Device Interface Name", but waveInMessage returns MMSYSERR_NOTSUPPORTED. This happens on both Windows 2000 (SP4) and Windows XP (SP1). Has anyone managed to get these calls to work? Jeff Pages Innes Corporation Pty Ltd ----- Original Message ----- From: wade <mailto:wdawson61@xxxxxxxxx> To: wdmaudiodev@xxxxxxxxxxxxx Sent: Thursday, November 13, 2003 5:48 AM Subject: [wdmaudiodev] Blocky looking metering in SoundForge I have written an AVStreams capture driver. I am experiencing a clunky, blocky display in audio applications that provide visual metering of the audio signal. Upon closer inspection, in Soundforge, If I set the "Status Format" to "samples", and record, the "time recorded" field on the record window increments by ~12k samples (48kBytes). Other audio cards increment by MUCH smaller amounts. I notice that 12k*2channels*2bytes is about one AVSream queue's worth of data (6 * 8192k frames). I am KsEditing the Allocator structure to allow selection of frame size, but in this instance, 6, 8k frames were alloc'd. I am completing the frames with the following code: .... transfer the data to the StreamPointerBuffer StreamPointer -> StreamHeader -> DataUsed += TransferSize; Pin->audioPosition.WriteOffset += TransferSize; // Now figure the duration StreamPointer -> StreamHeader ->OptionsFlags = (KSSTREAM_HEADER_OPTIONSF_DURATIONVALID); StreamPointer -> StreamHeader->PresentationTime.Numerator = Pin->kstimeNumer; StreamPointer -> StreamHeader->PresentationTime.Denominator = Pin->kstimeDenom; StreamPointer -> StreamHeader->Duration = (TransferSize); if (STATUS_DEVICE_NOT_READY == (status=KsStreamPointerAdvanceOffsets (StreamPointer,0,StreamPointer->OffsetOut.Remaining,FALSE))) { status = STATUS_PENDING; } else { status = STATUS_SUCCESS; // KsStreamPointerUnlock(StreamPointer,FALSE/*(!Pin->streamRunning)*/); } . . . break; return status; Any ideas? ________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard <http://antispam.yahoo.com/whatsnewfree>