Multimedia Class Scheduler Service (MMCSS) is a Windows service that allows multimedia applications to get prioritized access to CPU for time-sensitive processing (such as multimedia applications) as well as prioritized disc access to ensure that the process is not starved of data to process. The MMCSS service monitors the CPU load and dynamically adjusts priority so that the application can use as much CPU time as possible without denying CPU to lower priority applications.[1] MMCSS uses heuristics to determine the relative priority required for the task the thread is performing and dynamically adjusts priority based on that.[1] A thread must invoke MMCSS explicitly to use its services by calling the AvSetMmMaxThreadCharacteristics()[2] or AvSetMmThreadCharacteristics()[3] APIs.

MMCSS is used by the multimedia applications in Windows Vista, including Windows Media Player and Windows Media Center to provide glitch-free audio playback.


This service has been implicated in poor networking performance while multimedia is playing.[4][5] In response to this, Microsoft has included a configurable option[6] in Windows Vista Service Pack 1 and later where users can specify the network throttling index value for the Multimedia Class Scheduling Service so that network performance and audio/video playback quality can be balanced according to how users configure it.

See also


  1. ^ a b "Multimedia Class Scheduler Service".
  2. ^ "AvSetMmMaxThreadCharacteristics Function (Windows)".
  3. ^ "AvSetMmThreadCharacteristics Function (Windows)".
  4. ^ Microsoft responds to Vista network performance issue
  5. ^ Sysinternals blog "Vista Multimedia Playback and Network Throughput"
  6. ^ Microsoft Knowledge base article 948066