com.jogamp.opengl.util.av
Class AudioSink.AudioFormat

java.lang.Object
  extended by com.jogamp.opengl.util.av.AudioSink.AudioFormat
Enclosing interface:
AudioSink

public static class AudioSink.AudioFormat
extends Object

Specifies the linear audio PCM format.


Field Summary
 int channelCount
          Number of channels.
 boolean fixedP
          Fixed or floating point values.
 boolean littleEndian
           
 boolean planar
          Planar or packed samples.
 int sampleRate
          Sample rate in Hz (1/s).
 int sampleSize
          Sample size in bits.
 boolean signed
           
 
Constructor Summary
AudioSink.AudioFormat(int sampleRate, int sampleSize, int channelCount, boolean signed, boolean fixedP, boolean planar, boolean littleEndian)
           
 
Method Summary
 int getBytesDuration(int byteCount)
          Returns the duration in milliseconds of the given byte count according to sampleSize, channelCount and sampleRate.
 int getBytesSampleCount(int byteCount)
          Returns the sample count of given byte count according to the sampleSize, i.e.:
 int getDurationsByteSize(int millisecs)
          Returns the byte size of the given milliseconds according to sampleSize, channelCount and sampleRate.
 int getFrameCount(int millisecs, float frameDuration)
          Returns the rounded frame count of the given milliseconds and frame duration.
 int getSamplesByteCount(int sampleCount)
          Returns the byte size of given sample count according to the sampleSize, i.e.:
 float getSamplesDuration(int sampleCount)
          Returns the duration in milliseconds of the given sample count per frame and channel according to the sampleRate, i.e.
 String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

sampleRate

public final int sampleRate
Sample rate in Hz (1/s).


sampleSize

public final int sampleSize
Sample size in bits.


channelCount

public final int channelCount
Number of channels.


signed

public final boolean signed

fixedP

public final boolean fixedP
Fixed or floating point values. Floating point 'float' has sampleSize 32, 'double' has sampleSize 64.


planar

public final boolean planar
Planar or packed samples. If planar, each channel has their own data buffer. If packed, channel data is interleaved in one buffer.


littleEndian

public final boolean littleEndian
Constructor Detail

AudioSink.AudioFormat

public AudioSink.AudioFormat(int sampleRate,
                             int sampleSize,
                             int channelCount,
                             boolean signed,
                             boolean fixedP,
                             boolean planar,
                             boolean littleEndian)
Parameters:
sampleRate - sample rate in Hz (1/s)
sampleSize - sample size in bits
channelCount - number of channels
signed - true if signed number, false for unsigned
fixedP - true for fixed point value, false for unsigned floating point value with a sampleSize of 32 (float) or 64 (double)
planar - true for planar data package (each channel in own data buffer), false for packed data channels interleaved in one buffer.
littleEndian - true for little-endian, false for big endian
Method Detail

getDurationsByteSize

public final int getDurationsByteSize(int millisecs)
Returns the byte size of the given milliseconds according to sampleSize, channelCount and sampleRate.

Time -> Byte Count


getBytesDuration

public final int getBytesDuration(int byteCount)
Returns the duration in milliseconds of the given byte count according to sampleSize, channelCount and sampleRate.

Byte Count -> Time


getSamplesDuration

public final float getSamplesDuration(int sampleCount)
Returns the duration in milliseconds of the given sample count per frame and channel according to the sampleRate, i.e.
    ( 1000f * sampleCount ) / sampleRate
 

Sample Count -> Time

Parameters:
sampleCount - sample count per frame and channel

getFrameCount

public final int getFrameCount(int millisecs,
                               float frameDuration)
Returns the rounded frame count of the given milliseconds and frame duration.
     Math.max( 1, millisecs / frameDuration + 0.5f )
 

Note: frameDuration can be derived by sample count per frame and channel via getSamplesDuration(int).

Frame Time -> Frame Count

Parameters:
millisecs - time in milliseconds
frameDuration - duration per frame in milliseconds.

getSamplesByteCount

public final int getSamplesByteCount(int sampleCount)
Returns the byte size of given sample count according to the sampleSize, i.e.:
  sampleCount * ( sampleSize / 8 )
 

Note: To retrieve the byte size for all channels, you need to pre-multiply sampleCount with channelCount.

Sample Count -> Byte Count

Parameters:
sampleCount - sample count

getBytesSampleCount

public final int getBytesSampleCount(int byteCount)
Returns the sample count of given byte count according to the sampleSize, i.e.:
  ( byteCount * 8 ) / sampleSize
 

Note: If byteCount covers all channels and you request the sample size per channel, you need to divide the result by sampleCount by channelCount.

Byte Count -> Sample Count

Parameters:
sampleCount - sample count

toString

public String toString()
Overrides:
toString in class Object


Copyright 2010 JogAmp Community.