Getting the Best Video Seeking Performance

[The feature associated with this page, Windows Media Format 11 SDK, is a legacy feature. It has been superseded by Source Reader and Sink Writer. Source Reader and Sink Writer have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use Source Reader and Sink Writer instead of Windows Media Format 11 SDK, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

Seeking to content in a file is a very common operation that is potentially a performance issue. Video encoded with the Windows Media Video 9 codec is made up primarily of delta frames, which only record the changes in relation to the previous frame. Reconstructing delta frames takes time, particularly if the key frames are far apart. For more information about configuring key frames for efficient seeking, see Configuring Video Streams for Seeking Performance.

In addition to proper configuration, you can improve seeking performance by using frame indexing for the video stream. Seeking to a frame number is typically faster than seeking to a presentation time.

If seeking in a file with multiple streams, you should select only the streams that are needed. Each stream configured for reading will affect the performance of seeking, because all selected streams are synchronized when you seek to a point in a file.

Reading ASF Files

To Seek By Frame Number Using the Asynchronous Reader

To Seek By Frame Number Using the Synchronous Reader

To Seek By Time Using the Asynchronous Reader

To Seek By Time Using the Synchronous Reader