jogamp.opengl.util.av.NullAudioSink Maven / Gradle / Ivy
package jogamp.opengl.util.av;
import java.nio.ByteBuffer;
import com.jogamp.opengl.util.av.AudioSink;
public class NullAudioSink implements AudioSink {
@Override
public boolean isInitialized() {
return true;
}
private volatile float playSpeed = 1.0f;
private volatile boolean playRequested = false;
private float volume = 1.0f;
@Override
public final float getPlaySpeed() { return playSpeed; }
@Override
public final boolean setPlaySpeed(float rate) {
if( Math.abs(1.0f - rate) < 0.01f ) {
rate = 1.0f;
}
playSpeed = rate;
return true;
}
@Override
public final float getVolume() {
// FIXME
return volume;
}
@Override
public final boolean setVolume(float v) {
// FIXME
volume = v;
return true;
}
@Override
public AudioFormat getPreferredFormat() {
return DefaultFormat;
}
@Override
public final int getMaxSupportedChannels() {
return 8;
}
@Override
public final boolean isSupported(AudioFormat format) {
return true;
}
@Override
public boolean init(AudioFormat requestedFormat, float frameDuration, int initialQueueSize, int queueGrowAmount, int queueLimit) {
return true;
}
@Override
public boolean isPlaying() {
return playRequested;
}
@Override
public void play() {
playRequested = true;
}
@Override
public void pause() {
playRequested = false;
}
@Override
public void flush() {
}
@Override
public void destroy() {
}
@Override
public final int getEnqueuedFrameCount() {
return 0;
}
@Override
public int getFrameCount() {
return 0;
}
@Override
public int getQueuedFrameCount() {
return 0;
}
@Override
public int getQueuedByteCount() {
return 0;
}
@Override
public int getQueuedTime() {
return 0;
}
@Override
public final int getPTS() { return 0; }
@Override
public int getFreeFrameCount() {
return 1;
}
@Override
public AudioFrame enqueueData(AudioDataFrame audioDataFrame) {
return null;
}
@Override
public AudioFrame enqueueData(int pts, ByteBuffer bytes, int byteCount) {
return null;
}
}