Hello Markus, > Perhaps each miniport should use a different CPU (if available) Yes, if you experience a heavy load, splitting data processing among CPUs is a good idea. > but would this still fix the issue/problem/bug ? In my experiments, mapping problems were caused by a kind of internal PortCls synchronization. If data IRPs came from different CPUs, even an issuing thread was the same, PortCls sometimes stopped providing mappings and returned a stalled stream position in KSPROPERTY_AUDIO_POSITION, regardless of the value returned from GetPosition. As I restricted affinity of each calling thread to a single CPU, this problem was gone. > When should the affinity restriction be canceled ? at > SetState(KSSTATE_STOP) ? There is no reason to restore thread affinity because system audio engine creates a dedicated thread for each pin instance. Regards, Eugene ****************** 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/