audio_session.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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. int istoptype;
  21. }audio_session_conf_t;
  22. #if 0
  23. enum e_media_dir
  24. {
  25. DIR_NONE = 0,
  26. DIR_TX = 1,
  27. DIR_RX = 2,
  28. DIR_BOTH = 3,
  29. };
  30. #endif
  31. typedef struct audio_session_phonemedia_conf_t {
  32. int dir;
  33. unsigned long local_rtp_ip;
  34. int local_rtp_port;
  35. unsigned long remote_rtp_ip;
  36. int remote_rtp_port;
  37. int local_ptime;
  38. int remote_ptime;
  39. int local_pt;
  40. int remote_pt;
  41. int local_dtmf_pt;
  42. int remote_dtmf_pt;
  43. e_dev_type dev_type;
  44. CallingTypeEnum eCalltype;
  45. DeviceTypeEnum eDeviceType;
  46. //...
  47. }audio_session_phonemedia_conf_t;
  48. typedef struct audio_session_remote_recording_conf_t {
  49. unsigned long local_rtp_ip;
  50. int local_rtp_port;
  51. unsigned long remote_rtp_ip;
  52. int remote_rtp_port;
  53. int ptime;
  54. }audio_session_remote_recording_conf_t;
  55. typedef struct audio_session_t audio_session_t;
  56. int audio_session_create(const audio_session_conf_t *conf, audio_session_t **p_session);
  57. int audio_session_start_phonemedia(audio_session_t *session, const audio_session_phonemedia_conf_t *conf);
  58. int audio_session_change_dev(audio_session_t *session, e_dev_type t);
  59. int audio_session_stop(audio_session_t *session);
  60. void audio_session_destroy(audio_session_t *session);
  61. #if defined(_MSC_VER)
  62. int audio_lib_init(int* incount, int* ioutcount, CSimpleStringA& strAudioIn, CSimpleStringA& strAudioOut);
  63. #else
  64. int audio_lib_init();
  65. #endif //_MSC_VER
  66. void audio_lib_deinit();
  67. int audio_get_dev_count(int *in_cnt, int *out_cnt);
  68. CSimpleStringA audio_get_dev_name(bool in_direction, int idx);
  69. int capture_get_audio_device_id(bool in_direction, const char *dev_name);
  70. int get_audio_dev_name(char*devname,char*in_dev,char*out_dev);
  71. #endif // MEDIACONTROLLER_AUDIO_H