[Openal-devel] AL_SOFT_direct_channels

Chris Robinson chris.kcat at gmail.com
Fri Mar 2 23:09:24 PST 2012


On Saturday, March 03, 2012 1:51:00 AM Jason Daly wrote:
> OK, I get it now.  Subtle difference in terminology  :-)

How's this version?

Name

    AL_SOFT_direct_channels

Contributors

    Chris Robinson

Contact

    Chris Robinson (chris.kcat 'at' gmail.com)

Status

    In-progress

Dependancies

    This extension is written against the OpenAL 1.1 specification.

Overview

    This extension allows a multi-channel source to play without virtualized
    output speakers. By default, OpenAL requires buffer channels to be down-
    mixed to the output channel configuration, possibly using HRTF techniques
    to give a sense of speakers that may not be physically present. Sometimes
    audio tracks are authored with their own spatialization effects, where the
    AL's virtualization methods can cause a notable decrease in audio quality.

    This extension provides a mechanism for applications to specify whether
    audio should be filtered according to the AL's channel virtualization
    rules for multi-channel buffers.

Issues

    Q: Should this be a buffer property or source property?
    A: Source property. This gives more flexibility to the app to decide
       whether some piece of audio should be filtered or not.

    Q: Should this work on mono (3D) sources?
    A: No. Besides most people not having a mono speaker, or possibly even a
       front-center speaker, its main intent is for stereo tracks that have
       spatialization effects pre-applied.

    Q: Are environmental effects, provided by EFX for example, still applied?
    A: Yes. There's no compelling reason to disable them, particularly when
       the application has to enable them on a per-source basis in the first
       place.

New Procedures and Functions

    None.

New Tokens

    Accepted by the <paramName> parameter of alSourcei, alSourceiv,
    alGetSourcei, and alGetSourceiv:

        AL_DIRECT_CHANNELS_SOFT                  0x1033

Additions to Specification

    Append to Section 4.3.2, Source Attributes

    Table 4.x Channel Virtualization

    Name                       Signature  Values               Default
    -------------------------  ---------  -------------------  ----------
    AL_DIRECT_CHANNELS_SOFT    i, iv      AL_TRUE, AL_FALSE    AL_FALSE

    Description:
    AL_DIRECT_CHANNELS_SOFT set to AL_TRUE indicates the audio channels are
    not virtualized and play directly on the matching output channels if they
    exist, otherwise they are dropped. Applies only when playing non-mono
    buffers.



More information about the Openal-devel mailing list