aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/cubeb-jni.h
blob: 0a2d41a2c9035a6df7438a479b26669e98714d93 (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
#ifndef _CUBEB_JNI_H_
#define _CUBEB_JNI_H_

typedef struct cubeb_jni cubeb_jni;
typedef struct cubeb_fx cubeb_fx;
enum cubeb_fx_type {
  CUBEB_FX_ACOUSTIC_ECHO_CANCELER,
  CUBEB_FX_AUTOMATIC_GAIN_CONTROL,
  CUBEB_FX_NOISE_SUPPRESSOR,
  CUBEB_FX_SENTINEL__,
};

#ifdef __cplusplus
extern "C" {
#endif

cubeb_jni *
cubeb_jni_init();

bool
cubeb_fx_is_available(cubeb_jni * cubeb_jni_ptr, cubeb_fx_type type);
cubeb_fx *
cubeb_fx_init(cubeb_jni * cubeb_jni_ptr, cubeb_fx_type type, int audio_session);
int
cubeb_fx_set_enabled(cubeb_fx * cubeb_fx_ptr, bool enabled);
void
cubeb_fx_destroy(cubeb_fx * cubeb_fx_ptr);

int
cubeb_get_output_latency_from_jni(cubeb_jni * cubeb_jni_ptr);

void
cubeb_jni_destroy(cubeb_jni * cubeb_jni_ptr);

#ifdef __cplusplus
};
#endif

#endif // _CUBEB_JNI_H_