audio_session.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #ifndef MEDIACONTROLLER_AUDIO_H
  2. #define MEDIACONTROLLER_AUDIO_H
  3. #pragma once
  4. enum e_dev_type
  5. {
  6. DEV_PICKUP,
  7. DEV_HANDFREE,
  8. };
  9. typedef struct audio_session_conf_t {
  10. int in_dev[2];
  11. int out_dev[2];
  12. char shm_audioq_name[32];
  13. }audio_session_conf_t;
  14. enum e_media_dir
  15. {
  16. DIR_NONE = 0,
  17. DIR_TX = 1,
  18. DIR_RX = 2,
  19. DIR_BOTH = 3,
  20. };
  21. typedef struct audio_session_phonemedia_conf_t {
  22. int dir;
  23. unsigned long local_rtp_ip;
  24. int local_rtp_port;
  25. unsigned long remote_rtp_ip;
  26. int remote_rtp_port;
  27. int local_ptime;
  28. int remote_ptime;
  29. int local_pt;
  30. int remote_pt;
  31. int local_dtmf_pt;
  32. int remote_dtmf_pt;
  33. e_dev_type dev_type;
  34. //...
  35. }audio_session_phonemedia_conf_t;
  36. typedef struct audio_session_remote_recording_conf_t {
  37. unsigned long local_rtp_ip;
  38. int local_rtp_port;
  39. unsigned long remote_rtp_ip;
  40. int remote_rtp_port;
  41. int ptime;
  42. }audio_session_remote_recording_conf_t;
  43. typedef struct audio_session_t audio_session_t;
  44. int audio_session_create(const audio_session_conf_t *conf, audio_session_t **p_session);
  45. int audio_session_start_recording(audio_session_t *session);
  46. int audio_session_start_phonemedia(audio_session_t *session, const audio_session_phonemedia_conf_t *conf);
  47. int audio_session_stop(audio_session_t *session);
  48. void audio_session_destroy(audio_session_t *session);
  49. int audio_session_change_dev(audio_session_t *session, e_dev_type t);
  50. int audio_session_start_remote_recording(audio_session_t *session, const audio_session_remote_recording_conf_t *conf);
  51. int audio_lib_init();
  52. void audio_lib_deinit();
  53. int audio_get_dev_count(int *in_cnt, int *out_cnt);
  54. CSimpleStringA audio_get_dev_name(bool in_direction, int idx);
  55. #endif // MEDIACONTROLLER_AUDIO_H