aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/jogamp/opengl/util/av/NullAudioSink.java
blob: 8d3dbdf4465ebcac73510ef015d8a73317fcb2c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
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;
    }
}