audiodtmf.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef __AUDIODTMF_H__
  2. #define __AUDIODTMF_H__
  3. #pragma once
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. #include "audiodriver.h"
  8. #include "audiortp.h"
  9. typedef struct audiodtmf_t audiodtmf_t;
  10. struct audiodtmf_t
  11. {
  12. audiodriver_t base;
  13. int bsender;
  14. audiortp_t *rtp;
  15. char *tx_digits;
  16. int tx_digits_len;
  17. int tx_digits_offset;
  18. int progress;
  19. int rx_maxdigits;
  20. int rx_interval;
  21. int rx_timeout;
  22. int rx_ellapsed;
  23. int rx_interdigit;
  24. char rx_digits[MAX_DTMF];
  25. int rx_digits_len;
  26. int fin;
  27. int binitialized;
  28. };
  29. apr_status_t audiodtmf_create(apr_pool_t *pool, audioengine_t *engine, audiodtmf_t **p_dtmf);
  30. void audiodtmf_destroy(audiodtmf_t *dtmf);
  31. apr_status_t audiodtmf_set_rtpstream(audiodtmf_t *dtmf, audiortp_t* rtp);
  32. apr_status_t audiodtmf_set_sender(audiodtmf_t *dtmf, int on);
  33. apr_status_t audiodtmf_set_txparam(audiodtmf_t *dtmf, const char *digits, int n);
  34. apr_status_t audiodtmf_set_rxparam(audiodtmf_t *dtmf, int maxdigit, int interval, int interdigit, int timeout);
  35. apr_status_t audiodtmf_init(audiodtmf_t *dtmf);
  36. apr_status_t audiodtmf_term(audiodtmf_t *dtmf);
  37. #ifdef __cplusplus
  38. } // extern "C" {
  39. #endif
  40. #endif //__AUDIODTMF_H__