12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #ifndef __AUDIODRIVER_H__
- #define __AUDIODRIVER_H__
- #pragma once
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define EVT_DRIVER_BASE 0x00001000
- #define DRIVER_EVT_DTMF_RECV (EVT_DRIVER_BASE + 0) // receive dtmf
- #define DRIVER_EVT_DTMF_SENT (EVT_DRIVER_BASE + 1) // send dtmf finished
- typedef struct audiodriver_vtbl_t
- {
- void (*process_frame)(void *self);
- }audiodriver_vtbl_t;
- typedef struct audiodriver_t audiodriver_t;
- typedef struct audiocontext_t audiocontext_t;
- typedef struct audioengine_t audioengine_t;
- struct audiodriver_t
- {
- audiodriver_vtbl_t *vtbl;
- void *user_data;
- #ifdef _WIN32
- int (__stdcall *event_handler)(audiodriver_t* driver, void* user_data, int evt, int param1, int param2);
- #else
- int (__attribute__((__stdcall))*event_handler)(audiodriver_t* driver, void* user_data, int evt, int param1, int param2);
- #endif
- audioengine_t *engine;
- audiocontext_t *ctx;
- };
- void audiodriver_init(audioengine_t *engine, audiodriver_vtbl_t *vtbl, audiodriver_t *drv);
- void audiodriver_raise_event(audiodriver_t *driver, int evt, int param1, int param2);
- #ifdef __cplusplus
- } // extern "C" {
- #endif
- #endif //__AUDIODRIVER_H__
|