Skip to content

Commit 13486fa

Browse files
committed
add better driver mapping methods
Conflicts: jni/include/drivers_map.h
1 parent 461f42f commit 13486fa

File tree

1 file changed

+39
-13
lines changed

1 file changed

+39
-13
lines changed

jni/include/drivers_map.h

Lines changed: 39 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,51 @@
11
#ifndef _DRIVERS_MAP_H_
22
#define _DRIVERS_MAP_H_
33

4+
#include <jni.h>
5+
6+
#ifdef __cplusplus
7+
extern "C" {
8+
#endif
9+
10+
// methods for access to audio on OS
11+
typedef int (*audioDriver_register_t) (JNIEnv*, jobject);
12+
typedef int (*audioDriver_set_t) (int,uint32_t,int,int,int);
13+
typedef int (*audioDriver_start_t) (void);
14+
typedef int (*audioDriver_flush_t) (void);
15+
typedef int (*audioDriver_stop_t) (void);
16+
typedef int (*audioDriver_reload_t) (void);
17+
typedef int (*audioDriver_unregister_t) (void);
18+
typedef int (*audioDriver_write_t) (void *, int);
19+
20+
// methods for access to surface on OS
21+
typedef int (*videoDriver_register_t) (JNIEnv*, jobject);
22+
typedef int (*videoDriver_getPixels_t) (int width, int height, void** pixels);
23+
typedef int (*videoDriver_updateSurface_t) (void);
24+
typedef int (*videoDriver_unregister_t) (void);
25+
426
// create pointer on system methods for accessing audio and video system
527
#ifdef ANDROID
628

729
#include <android/audiotrack.h>
830
#include <android/surface.h>
931

10-
int (*AudioDriver_register) (void) = AndroidAudioTrack_register;
11-
int (*AudioDriver_set) (int,uint32_t,int,int,int) = AndroidAudioTrack_set;
12-
int (*AudioDriver_start) (void) = AndroidAudioTrack_start;
13-
int (*AudioDriver_flush) (void) = AndroidAudioTrack_flush;
14-
int (*AudioDriver_stop) (void) = AndroidAudioTrack_stop;
15-
int (*AudioDriver_reload) (void) = AndroidAudioTrack_reload;
16-
int (*AudioDriver_unregister) (void) = AndroidAudioTrack_unregister;
17-
int (*AudioDriver_write) (void *, int) = AndroidAudioTrack_write;
18-
19-
int (*VideoDriver_register) (JNIEnv*, jobject) = AndroidSurface_register;
20-
int (*VideoDriver_getPixels) (int width, int height, void** pixels) = AndroidSurface_getPixels;
21-
int (*VideoDriver_updateSurface) (void) = AndroidSurface_updateSurface;
22-
int (*VideoDriver_unregister) (void) = AndroidSurface_unregister;
32+
audioDriver_register_t AudioDriver_register = AndroidAudioTrack_register;
33+
audioDriver_set_t AudioDriver_set = AndroidAudioTrack_set;
34+
audioDriver_start_t AudioDriver_start = AndroidAudioTrack_start;
35+
audioDriver_flush_t AudioDriver_flush = AndroidAudioTrack_flush;
36+
audioDriver_stop_t AudioDriver_stop = AndroidAudioTrack_stop;
37+
audioDriver_reload_t AudioDriver_reload = AndroidAudioTrack_reload;
38+
audioDriver_write_t AudioDriver_write = AndroidAudioTrack_write;
39+
audioDriver_unregister_t AudioDriver_unregister = AndroidAudioTrack_unregister;
40+
41+
videoDriver_register_t VideoDriver_register = AndroidSurface_register;
42+
videoDriver_getPixels_t VideoDriver_getPixels = AndroidSurface_getPixels;
43+
videoDriver_updateSurface_t VideoDriver_updateSurface = AndroidSurface_updateSurface;
44+
videoDriver_unregister_t VideoDriver_unregister = AndroidSurface_unregister;
45+
46+
#ifdef __cplusplus
47+
} // end of cpluplus
48+
#endif
2349

2450
#endif
2551

0 commit comments

Comments
 (0)