@@ -34,17 +34,124 @@ namespace jni
34
34
explicit JavaAudioProcessingConfigClass (JNIEnv * env);
35
35
36
36
jclass cls;
37
- jfieldID echoCancellerEnabled ;
38
- jfieldID residualEchoDetectorEnabled ;
39
- jfieldID gainControlEnabled ;
40
- jfieldID highPassFilterEnabled ;
41
- jfieldID noiseSuppressionEnabled ;
42
- jfieldID transientSuppressionEnabled ;
43
- jfieldID levelEstimationEnabled ;
44
- jfieldID voiceDetectionEnabled ;
37
+ jfieldID echoCanceller ;
38
+ jfieldID gainControl ;
39
+ jfieldID highPassFilter ;
40
+ jfieldID levelEstimation ;
41
+ jfieldID noiseSuppression ;
42
+ jfieldID residualEchoDetector ;
43
+ jfieldID transientSuppression ;
44
+ jfieldID voiceDetection ;
45
45
};
46
46
47
47
webrtc::AudioProcessing::Config toNative (JNIEnv * env, const JavaRef<jobject> & javaType);
48
+ webrtc::AudioProcessing::Config::GainController2 toGainController2 (JNIEnv * env, const JavaLocalRef<jobject> & javaType);
49
+
50
+
51
+ class JavaEchoCancellerClass : public JavaClass
52
+ {
53
+ public:
54
+ explicit JavaEchoCancellerClass (JNIEnv * env);
55
+
56
+ jclass cls;
57
+ jfieldID enabled;
58
+ jfieldID enforceHighPassFiltering;
59
+ };
60
+
61
+ class JavaGainControlClass : public JavaClass
62
+ {
63
+ public:
64
+ explicit JavaGainControlClass (JNIEnv * env);
65
+
66
+ jclass cls;
67
+ jfieldID enabled;
68
+ jfieldID fixedDigital;
69
+ jfieldID adaptiveDigital;
70
+ };
71
+
72
+ class JavaGainControlFixedDigitalClass : public JavaClass
73
+ {
74
+ public:
75
+ explicit JavaGainControlFixedDigitalClass (JNIEnv * env);
76
+
77
+ jclass cls;
78
+ jfieldID gainDb;
79
+ };
80
+
81
+ class JavaGainControlAdaptiveDigitalClass : public JavaClass
82
+ {
83
+ public:
84
+ explicit JavaGainControlAdaptiveDigitalClass (JNIEnv * env);
85
+
86
+ jclass cls;
87
+ jfieldID enabled;
88
+ jfieldID dryRun;
89
+ jfieldID vadResetPeriodMs;
90
+ jfieldID adjacentSpeechFramesThreshold;
91
+ jfieldID maxGainChangeDbPerSecond;
92
+ jfieldID maxOutputNoiseLevelDbfs;
93
+ jfieldID vadProbabilityAttack;
94
+ jfieldID levelEstimatorAdjacentSpeechFramesThreshold;
95
+ jfieldID useSaturationProtector;
96
+ jfieldID initialSaturationMarginDb;
97
+ jfieldID extraSaturationMarginDb;
98
+ jfieldID gainApplierAdjacentSpeechFramesThreshold;
99
+ };
100
+
101
+ class JavaHighPassFilterClass : public JavaClass
102
+ {
103
+ public:
104
+ explicit JavaHighPassFilterClass (JNIEnv * env);
105
+
106
+ jclass cls;
107
+ jfieldID enabled;
108
+ };
109
+
110
+ class JavaLevelEstimationClass : public JavaClass
111
+ {
112
+ public:
113
+ explicit JavaLevelEstimationClass (JNIEnv * env);
114
+
115
+ jclass cls;
116
+ jfieldID enabled;
117
+ };
118
+
119
+ class JavaNoiseSuppressionClass : public JavaClass
120
+ {
121
+ public:
122
+ explicit JavaNoiseSuppressionClass (JNIEnv * env);
123
+
124
+ jclass cls;
125
+ jfieldID enabled;
126
+ jfieldID level;
127
+ };
128
+
129
+ class JavaResidualEchoDetectorClass : public JavaClass
130
+ {
131
+ public:
132
+ explicit JavaResidualEchoDetectorClass (JNIEnv * env);
133
+
134
+ jclass cls;
135
+ jfieldID enabled;
136
+ };
137
+
138
+ class JavaTransientSuppressionClass : public JavaClass
139
+ {
140
+ public:
141
+ explicit JavaTransientSuppressionClass (JNIEnv * env);
142
+
143
+ jclass cls;
144
+ jfieldID enabled;
145
+ };
146
+
147
+ class JavaVoiceDetectionClass : public JavaClass
148
+ {
149
+ public:
150
+ explicit JavaVoiceDetectionClass (JNIEnv * env);
151
+
152
+ jclass cls;
153
+ jfieldID enabled;
154
+ };
48
155
}
49
156
}
50
157
0 commit comments