audio_session.h 1.8 KB

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