Difference between revisions of "WASAPI"

From JRiverWiki
Jump to: navigation, search
Line 2: Line 2:
 
| relatedPage=[[Audio Setup]]}}
 
| relatedPage=[[Audio Setup]]}}
  
WASAPI is Microsoft's most modern method for talking with sound devices.  WASAPI stands for Windows Audio Session API.  It is available in Windows Vista, Windows 7, and newer. It allows delivering an unmodified bitstream to a sound device.
+
The [http://msdn.microsoft.com/en-us/library/windows/desktop/dd371455%28v=vs.85%29.aspx Windows Audio Session API (WASAPI)] is Microsoft's most modern method for talking with audio devices.  It is available in Windows Vista, Windows 7, and later versions of Windows. It allows delivering an unmodified bitstream to a sound device, and provides benefits similar to those provided by ASIO drivers.
  
WASAPI support was first added to Media Center 13.  Media Center 15 added event style WASAPI support.
+
WASAPI support was first added to Media Center 13.  Media Center 15 added event style WASAPI support, and MC 18 made this the default.
  
For XP, [http://wiki.jriver.com/index.php/ASIO ASIO] is similar.
+
== WASAPI Options ==
  
An Interact thread on the original creation of WASAPI can be found here:
+
You can access WASAPI options in Media Center via:
http://yabb.jriver.com/interact/index.php?topic=48478.0
+
<span style="color:#8B4513">Tools > Options > Audio > Audio Device > Device settings</span>
  
==WASAPI Modes==
+
[[File:MC19-Audio-WASAPI Device Settings.png|thumb|600px|none|Options available for WASAPI connected devices.]]
  
There are two main ways to communicate using WASAPI. Both deliver the same audio data and will sound the same. One may work better with specific hardware.
+
From here you can:
 +
* Enable [[Exclusive access]] of the audio device.
 +
* Disable [[WASAPI Event Style]] for supporting older hardware.
 +
* Set Media Center to [[Maximize device volume|automatically maximize the audio device's system volume control]] during playback.
 +
* Alter Buffering settings if needed to deal with troublesome hardware or drivers.
 +
* Enable the Play a little silence option which can help prevent clicks and pops when starting and stopping playback that occurs on some audio devices
  
'''Terminology Changes IN 18.0.183 and Above'''
+
== More ==
  
WASAPI is now just WASAPI. In the options (next item below the selection) you can check "Disable event style..." to get the output mode previously called "WASAPI", used mainly with older hardware.  In other words, WASAPI now defaults to Event Style.
+
* An [http://yabb.jriver.com/interact/index.php?topic=48478.0 Interact thread on the original creation of WASAPI]
 
 
'''Versions prior to 18.0.183'''
 
 
 
WASAPI output mode pushes data from Media Center to the sound device.  It works with nearly all hardware.
 
 
 
WASAPI Event Style lets a sound device pull data from Media Center.  This method is not supported by all hardware, but is recommended when supported.
 
 
 
This has several advantages:
 
* It lets the audio subsystem pull data (when events are set) instead of pushing data to the system.  This allows lower latency buffer sizes, and removes an unreliable Microsoft layer documented below.
 
 
 
* It creates, uses, and destroys all WASAPI interfaces from a single thread.
 
 
 
* The hardware (or WASAPI interface) never sees any pause or flush calls.  Instead, on pause or flush, silence is delivered in the pull loop.  This removes the need for hacks for cards that circle their buffers on pause, flush, etc. (ATI HDMI, etc.).
 
 
 
* It allows for a more direct data path to the driver / hardware.
 
 
 
* The main 'pull loop' uses a lock-free circle buffer (a system that J. River built for ASIO), so that fullfilling a pull request is as fast as possible.
 
  
 
[[Category: Frequently Asked Questions]]
 
[[Category: Frequently Asked Questions]]

Revision as of 23:27, 16 April 2014

The Windows Audio Session API (WASAPI) is Microsoft's most modern method for talking with audio devices. It is available in Windows Vista, Windows 7, and later versions of Windows. It allows delivering an unmodified bitstream to a sound device, and provides benefits similar to those provided by ASIO drivers.

WASAPI support was first added to Media Center 13. Media Center 15 added event style WASAPI support, and MC 18 made this the default.

WASAPI Options

You can access WASAPI options in Media Center via: Tools > Options > Audio > Audio Device > Device settings

Options available for WASAPI connected devices.

From here you can:

More