BUG: Initial Data in a DirectSound Hardware Buffer Plays Two Times (327698)



The information in this article applies to:

  • Microsoft Windows 2000
  • Microsoft Windows XP Professional

This article was previously published under Q327698

SYMPTOMS

An estimated 2000 bytes of the initial data in a DirectSound Secondary Hardware Buffer are played two times in a DirectSound 8.1 SDK-based program. You can see this problem specifically when you use the GetCurrentPosition() API in the program that retrieves the play cursor's position, which is reset to zero after the buffer is filled with approximately 2000 bytes of data. This problem does not occur when the buffer is filled the second time.

NOTE: This behavior does not occur on Microsoft Windows 95, Microsoft Windows 98, and Microsoft Windows 98 Second Edition.

RESOLUTION

To work around this problem, use either of the following methods:
  • Use larger buffers on the program.

    - or -
  • Use the DSBCAPS_LOCSOFTWARE flag in DSBUFFERDESC structure to use only software mixing.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

Modification Type:MajorLast Reviewed:2/11/2004
Keywords:kbDSWMM2003Swept kbbug kbnofix KB327698