[openal] AL_SOFT_source_length
    Chris Robinson 
    chris.kcat at gmail.com
       
    Fri Jul  4 10:34:54 EDT 2014
    
    
  
This is a fairly simple one. This provides a simple and efficient way to 
retrieve the combined length of all the buffers on a source, static or 
streaming. This kind of info is useful if you're trying to get accurate 
timing of an audio stream.
-------------- next part --------------
Name
    AL_SOFT_source_length
Contributors
    Chris Robinson
Contact
    Chris Robinson (chris.kcat 'at' gmail.com)
Status
    In progress
Dependencies
    This extension is for OpenAL 1.1.
    This extension trivially interacts with AL_SOFT_buffer_samples.
Overview
    This extension adds a method to retrieve the total length of a source's
    buffer data in bytes, samples, and seconds, which correspond to the byte,
    sample, and seconds offset extents. By default, OpenAL only provides a way
    to retrieve a buffer's storage size in bytes, which does not necessarily
    represent the data size given to alBufferData nor the byte offset extent.
    Using the AL_SOFT_buffer_samples extension, an application can query a
    buffer for its length in bytes, samples, and seconds, but this is only for
    a single buffer; a buffer queue on a source still requires additional
    bookkeeping by the application to keep track of the length of each buffer
    being queued and unqueued onto a given source. This extension aims to ease
    that and provide a simple query.
Issues
    None.
New Procedures and Functions
    None.
New Tokens
    Accepted by the <paramName> parameter of alGetSourcei and alGetSourceiv
    (these are the same as in AL_SOFT_buffer_samples):
        AL_BYTE_LENGTH_SOFT                      0x2009
        AL_SAMPLE_LENGTH_SOFT                    0x200A
    Accepted by the <paramName> parameter of alGetSourcef and alGetSourcefv
    (these are the same as in AL_SOFT_buffer_samples):
        AL_SEC_LENGTH_SOFT                       0x200B
Additions to Specification
    Table x.0. Source Length Attributes
    Name                   Signature  Values        Default
    ---------------------  ---------  ------------  -------
    AL_BYTE_LENGTH_SOFT    i, iv      [0, INT_MAX]  0
    AL_SAMPLE_LENGTH_SOFT  i, iv      [0, INT_MAX]  0
    AL_SEC_LENGTH_SOFT     f, fv      [0.0f, Any]   0.0f
    Query only. Queries the combined lengths of all buffers on a source, in
    bytes, sample frames, or seconds.
    The length represents the extent of the corresponding source offset; e.g.,
    the source's AL_BYTE_OFFSET will range from 0 (inclusive) to
    AL_BYTE_LENGTH_SOFT (exclusive).
Errors
    An AL_INVALID_OPERATION error is generated if an attempt is made to set
    the AL_BYTE_LENGTH_SOFT, AL_SAMPLE_LENGTH_SOFT, and AL_SEC_LENGTH_SOFT
    attributes on a source.
    
    
More information about the openal
mailing list