audio_session.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #ifndef MEDIACONTROLLER_AUDIO_H
  2. #define MEDIACONTROLLER_AUDIO_H
  3. #pragma once
  4. #include "../mod_counterconnector/CallType.h"
  5. #include "EventCode.h"
  6. enum e_dev_type
  7. {
  8. DEV_PICKUP,
  9. DEV_HANDFREE,
  10. };
  11. typedef struct audio_session_conf_t {
  12. char in_dev[2][260];
  13. char out_dev[2][260];
  14. int agc_in[2];
  15. int agc_out[2];
  16. int ns_in[2];
  17. int ns_out[2];
  18. int aec[2];
  19. }audio_session_conf_t;
  20. #if 0
  21. enum e_media_dir
  22. {
  23. DIR_NONE = 0,
  24. DIR_TX = 1,
  25. DIR_RX = 2,
  26. DIR_BOTH = 3,
  27. };
  28. #endif
  29. typedef struct audio_session_phonemedia_conf_t {
  30. int dir;
  31. unsigned long local_rtp_ip;
  32. int local_rtp_port;
  33. unsigned long remote_rtp_ip;
  34. int remote_rtp_port;
  35. int local_ptime;
  36. int remote_ptime;
  37. int local_pt;
  38. int remote_pt;
  39. int local_dtmf_pt;
  40. int remote_dtmf_pt;
  41. e_dev_type dev_type;
  42. CallingTypeEnum eCalltype;
  43. DeviceTypeEnum eDeviceType;
  44. //...
  45. }audio_session_phonemedia_conf_t;
  46. typedef struct audio_session_remote_recording_conf_t {
  47. unsigned long local_rtp_ip;
  48. int local_rtp_port;
  49. unsigned long remote_rtp_ip;
  50. int remote_rtp_port;
  51. int ptime;
  52. }audio_session_remote_recording_conf_t;
  53. typedef struct audio_session_t audio_session_t;
  54. int audio_session_create(const audio_session_conf_t *conf, audio_session_t **p_session);
  55. int audio_session_start_phonemedia(audio_session_t *session, const audio_session_phonemedia_conf_t *conf);
  56. int audio_session_start_remote_recording(audio_session_t *session, const audio_session_remote_recording_conf_t *conf);
  57. int audio_session_change_dev(audio_session_t *session, e_dev_type t);
  58. int audio_session_stop(audio_session_t *session);
  59. void audio_session_destroy(audio_session_t *session);
  60. int audio_lib_init();
  61. void audio_lib_deinit();
  62. int audio_get_dev_count(int *in_cnt, int *out_cnt);
  63. CSimpleStringA audio_get_dev_name(bool in_direction, int idx);
  64. int capture_get_audio_device_id(bool in_direction, const char *dev_name);
  65. int get_audio_dev_name(char*devname,char*in_dev,char*out_dev);
  66. #endif // MEDIACONTROLLER_AUDIO_H