Package com.jogamp.opengl.util.av
Class AudioSink.AudioFormat
- java.lang.Object
-
- com.jogamp.opengl.util.av.AudioSink.AudioFormat
-
-
Field Summary
Fields Modifier and Type Field Description intchannelCountNumber of channels.booleanfixedPFixed or floating point values.booleanlittleEndianbooleanplanarPlanar or packed samples.intsampleRateSample rate in Hz (1/s).intsampleSizeSample size in bits.booleansigned
-
Constructor Summary
Constructors Constructor Description AudioFormat(int sampleRate, int sampleSize, int channelCount, boolean signed, boolean fixedP, boolean planar, boolean littleEndian)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetBytesDuration(int byteCount)Returns the duration in milliseconds of the given byte count according tosampleSize,channelCountandsampleRate.intgetBytesSampleCount(int byteCount)Returns the sample count of given byte count according to thesampleSize, i.e.:intgetDurationsByteSize(int millisecs)Returns the byte size of the given milliseconds according tosampleSize,channelCountandsampleRate.intgetFrameCount(int millisecs, float frameDuration)Returns the rounded frame count of the given milliseconds and frame duration.intgetSamplesByteCount(int sampleCount)Returns the byte size of given sample count according to thesampleSize, i.e.:floatgetSamplesDuration(int sampleCount)Returns the duration in milliseconds of the given sample count per frame and channel according to thesampleRate, i.e.StringtoString()
-
-
-
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' hassampleSize32, 'double' hassampleSize64.
-
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
-
AudioFormat
public 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 bitschannelCount- number of channelssigned- true if signed number, false for unsignedfixedP- 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 tosampleSize,channelCountandsampleRate.Time -> Byte Count
-
getBytesDuration
public final int getBytesDuration(int byteCount)
Returns the duration in milliseconds of the given byte count according tosampleSize,channelCountandsampleRate.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 thesampleRate, i.e.( 1000f * sampleCount ) / sampleRateSample 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:
frameDurationcan be derived by sample count per frame and channel viagetSamplesDuration(int).Frame Time -> Frame Count
- Parameters:
millisecs- time in millisecondsframeDuration- duration per frame in milliseconds.
-
getSamplesByteCount
public final int getSamplesByteCount(int sampleCount)
Returns the byte size of given sample count according to thesampleSize, i.e.:sampleCount * ( sampleSize / 8 )
Note: To retrieve the byte size for all channels, you need to pre-multiply
sampleCountwithchannelCount.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 thesampleSize, i.e.:( byteCount * 8 ) / sampleSize
Note: If
byteCountcovers all channels and you request the sample size per channel, you need to divide the result bysampleCountbychannelCount.Byte Count -> Sample Count
- Parameters:
byteCount- number of bytes
-
-