| 123456789101112131415161718192021222324252627282930313233343536373839 |
- #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;
- int (__stdcall *event_handler)(audiodriver_t *driver, void *user_data, int evt, int param1, int param2);
- 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__
|