WASAPI: Difference between revisions

From wiki.jriver.com
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
WASAPI is Microsoft's method for delivering an unmodified bitstream to a sound device. It was first available in Vista. MC13 added support for WASAPI at about build 100.
WASAPI is Microsoft's most modern method for talking with sound devices. WASAPI stands for Windows Audio Session API.

WASAPI is available in Windows Vista, Windows 7, and newer. It allows delivering an unmodified bitstream to a sound device.

WASAPI support was first added to Media Center 13. Media Center 15 added event style WASAPI support.


For XP, [http://wiki.jrmediacenter.com/index.php/ASIO ASIO] is similar.
For XP, [http://wiki.jrmediacenter.com/index.php/ASIO ASIO] is similar.


An Interact thread on WASAPI can be found here:
An Interact thread on the original creation WASAPI can be found here:
http://yabb.jriver.com/interact/index.php?topic=48478.0
http://yabb.jriver.com/interact/index.php?topic=48478.0


==WASAPI Modes==
And here's a personal story from a user, jmone:

There are two main ways to communicate using WASAPI:

'''WASAPI'''

This output mode pushes data from Media Center to the sound device.


'''WASAPI - Event Style'''

The output mode lets a sound device pull data from Media Center.


==Problems==

'''Stuttering'''

Some devices will start stuttering during playback when using WASAPI. This is due to a bug in the WASAPI system of stock Microsoft driver where the circling buffers get out of order. Stopping and restarting playback is required to reset the stuttering.

Using '''WASAPI - Event Style''' will fix this problem.

There are more details here:
http://yabb.jriver.com/interact/index.php?topic=59460.0


'''Hiccups using WASAPI - Event Style'''

The default buffering value for WASAPI - Event Style is 50ms. With some hardware, and especially USB DACs, a larger value is necessary. If you hear stutters, select 100ms or 250ms for buffering in Options > Audio > Output mode settings...


'''Playback won't start or stalls'''

Some hardware is particular about buffer sizes. You may need to experiment with different buffering values using Options > Audio > Output mode settings...


"My HTPC is connected to my Receiver using HDMI for both Audio and Video. I have configured Vista Audio Mixer for 5.1 (as the default) and have all my software apps decoding and outputing LPCM using WASAPI Exclusive as the audio renderer (JR WASAPI for Audio Files and Reclock for DirectShow playback). I use my HTPC for playback of all media types including Audio (CD, CD Rips, mostly in 2CH), DTV (can be in 2ch or 5.1), DVD / BluRay / Movie files (can be in 2ch or 5.1) and this is where WASAPI Exclusive is terrific as it will configure the output to the correct number of channels. The real problems it has solved for me is 2ch TV and Movie playback where the "blank" 3.1 channels stoped the Receiver using the Subwoofer for base mgt and the Center Channel for dialogue. At my age I certainly will not claim "goldern ears" and can not say that the quality between the available renderers is apparant to me. I do however easly notice the incorrect handling of 2CH material broadcast over a 5.1 configuration. Even 2ch audio sounds "better" to me when the Receiver is just getting 2ch input not 5.1 from MC." (from [http://yabb.jriver.com/interact/index.php?topic=51682.msg352820#msg352820 this thread] )


'''Other Problems'''
For playback problems, please see [http://yabb.jriver.com/interact/index.php?topic=57343.msg389010 this thread].
For playback problems, please see [http://yabb.jriver.com/interact/index.php?topic=57343.msg389010 this thread].



Revision as of 17:18, 27 September 2010

WASAPI is Microsoft's most modern method for talking with sound devices. WASAPI stands for Windows Audio Session API.

WASAPI is available in Windows Vista, Windows 7, and newer. It allows delivering an unmodified bitstream to a sound device.

WASAPI support was first added to Media Center 13. Media Center 15 added event style WASAPI support.

For XP, ASIO is similar.

An Interact thread on the original creation WASAPI can be found here: http://yabb.jriver.com/interact/index.php?topic=48478.0

WASAPI Modes

There are two main ways to communicate using WASAPI:

WASAPI

This output mode pushes data from Media Center to the sound device.


WASAPI - Event Style

The output mode lets a sound device pull data from Media Center.


Problems

Stuttering

Some devices will start stuttering during playback when using WASAPI. This is due to a bug in the WASAPI system of stock Microsoft driver where the circling buffers get out of order. Stopping and restarting playback is required to reset the stuttering.

Using WASAPI - Event Style will fix this problem.

There are more details here: http://yabb.jriver.com/interact/index.php?topic=59460.0


Hiccups using WASAPI - Event Style

The default buffering value for WASAPI - Event Style is 50ms. With some hardware, and especially USB DACs, a larger value is necessary. If you hear stutters, select 100ms or 250ms for buffering in Options > Audio > Output mode settings...


Playback won't start or stalls

Some hardware is particular about buffer sizes. You may need to experiment with different buffering values using Options > Audio > Output mode settings...


Other Problems For playback problems, please see this thread.