Hi, i am using MSVAD simple as my base for supporting 20 virtual microphone streams ( however, only 1 device is there, different streams are given different data based on session ID). However, the moment i change MAX_OUTPUT_STREAMS in SIMPLE.H from it's default value 1 to say 2 or 3, everything starts getting garbled, the request CMiniportWaveCyclicStreamMSVAD::CopyFrom which triggers at 10 ms means 22050 Hz, 16 bit mono , equals 441 bytes per 10 ms ( when MAX_OUTPUT_STREAMS = 1) becomes 660 bytes and sometimes 662 bytes, ( when MAX_OUTPUT_STREAMS is greater than 1) my only question is, (i) What am i doing wrong.( i have confirmed my results 5 times in a row, by interchanging the MAX_OUTPUT_STREAMS to 4 and vice versa ) & everytime i got the same results. (ii) How to do it ( support multiple capture streams); here's 1 windbg log with MAX_OUTPUT_STREAMS set to 4 MSVAD: New Format: 22050 CMiniportWaveCyclic::NewStream Stream Timer Interval 10 Frame Size 441 MSVAD: KSSTATE_PAUSE MSVAD: KSSTATE_RUN 660 662 660 662 660 662 660 662 660 662 660 Let me know your ideas/ solution Thanks. Regards. Vipin