audiodtmfbridge.h 814 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef __AUDIODTMFBRIDGE_H__
  2. #define __AUDIODTMFBRIDGE_H__
  3. #pragma once
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. #include "audiodriver.h"
  8. #include "audiortp.h"
  9. #define DTMF_BRIDGE_MODE_NONE 0
  10. #define DTMF_BRIDGE_MODE_HALF 1
  11. #define DTMF_BRIDGE_MODE_DUPLEX 3
  12. typedef struct audiodtmfbridge_t audiodtmfbridge_t;
  13. struct audiodtmfbridge_t {
  14. audiodriver_t base;
  15. audiortp_t *left_leg_stream;
  16. audiortp_t *right_leg_stream;
  17. int mode;
  18. };
  19. apr_status_t audiodtmfbridge_create(apr_pool_t *pool,
  20. audioengine_t *engine,
  21. audiortp_t *left_stream,
  22. audiortp_t *right_stream,
  23. int mode, // DTMF_BRIDGE_MODE_xxx
  24. audiodtmfbridge_t **p_bridge);
  25. void audiodtmfbridge_destroy(audiodtmfbridge_t *bridge);
  26. #ifdef __cplusplus
  27. } // extern "C" {
  28. #endif
  29. #endif //__AUDIODTMFBRIDGE_H__