My experience has been that XP is much more tolerant of errors in an audio driver than Vista. Since the audio stack in Vista has been rewritten, minor errors that caused no problem in XP cause big problems in Vista. So just because the driver works fine in XP, it could still mean there is a bug that XP over looks. The first things that I would check are: 1. Are you returning the proper position information in the KSSTREAM_HEADER and that it matches properly with what you are sending in PlayOffset? It should match properly to what the Play Offset returns. I would check DataUsed, Duration, PresentationTime.Numerator, PresentationTime.Denominator and the OptionsFlags. 2. Make sure that Play offset always returns the last position it returned or a greater number. I cannot think of any situation where the number should return a number less than what it returned at a previous time. 3. My understanding is that basically you can say that PlayPosition = how many bytes have actually been played by the driver. WritePosition = how many bytes have been received by the driver. Is that how you are setting the numbers? 4. Are you sure that you are starting the stream in the correct KS_STATE transition? 5. Does your driver set KSPIN_FLAG_PROCESS_IN_RUN_STATE_ONLY in the Pin Options? My driver set this flag...I found it simplifies matters. 6. Are you sure you are always returning STATUS_SUCCESS in the Process function and if not, that you are calling KsAttemptProcessing to restart processing? Those are my ideas for now...But, the most important thing I can tell you is not to feel a sense that things are proper because the driver works under XP. Almost certainly, you are not following the rules as stated in the DDK in a way that XP ignores...but Vista does not. That has been my experience with these types of issues. -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Andrew Sha Sent: Monday, February 27, 2006 11:33 AM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] AVStream on Vista Hi guys, I developed an audio driver that is implemented as an AVStream minidriver. It works fine on XP, but not on Vista. I got a hint to implement the KSPROPERTY_AUDIO_POSITION property. It sort of helps - as far as I keep the PlayOffset equal to WriteOffest (kind of kludge), it seems to work fine. But when I report the real PlayOffset that is behind the WriteOffset about 100 mS, the situation is screwed - after submitting of 30 mS of the PCM data a player issues KSPROPERTY_AUDIO_POSITION request endless, probably waiting on the PlayOffset to be advanced. So how to instruct a player (either the WMP or the graphedit) about a portion of data that is needed to be pre-buffered by my driver? My first guess was the KSPROPERTY_AUDIO_LATENCY property will do the trick, but it is not requested at all. Any ideas? TIA Andrew ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/ ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/