123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #ifndef MEDIACONTROLLER_AUDIO_H
- #define MEDIACONTROLLER_AUDIO_H
- #pragma once
- enum e_dev_type
- {
- DEV_PICKUP,
- DEV_HANDFREE,
- };
- typedef struct audio_session_conf_t {
- int in_dev[2];
- int out_dev[2];
- char shm_audioq_name[32];
- }audio_session_conf_t;
- enum e_media_dir
- {
- DIR_NONE = 0,
- DIR_TX = 1,
- DIR_RX = 2,
- DIR_BOTH = 3,
- };
- typedef struct audio_session_phonemedia_conf_t {
- int dir;
- unsigned long local_rtp_ip;
- int local_rtp_port;
- unsigned long remote_rtp_ip;
- int remote_rtp_port;
- int local_ptime;
- int remote_ptime;
- int local_pt;
- int remote_pt;
- int local_dtmf_pt;
- int remote_dtmf_pt;
- e_dev_type dev_type;
- //...
- }audio_session_phonemedia_conf_t;
- typedef struct audio_session_remote_recording_conf_t {
- unsigned long local_rtp_ip;
- int local_rtp_port;
- unsigned long remote_rtp_ip;
- int remote_rtp_port;
- int ptime;
- }audio_session_remote_recording_conf_t;
- typedef struct audio_session_t audio_session_t;
- int audio_session_create(const audio_session_conf_t *conf, audio_session_t **p_session);
- int audio_session_start_recording(audio_session_t *session);
- int audio_session_start_phonemedia(audio_session_t *session, const audio_session_phonemedia_conf_t *conf);
- int audio_session_stop(audio_session_t *session);
- void audio_session_destroy(audio_session_t *session);
- int audio_session_change_dev(audio_session_t *session, e_dev_type t);
- int audio_session_start_remote_recording(audio_session_t *session, const audio_session_remote_recording_conf_t *conf);
- int audio_lib_init();
- void audio_lib_deinit();
- int audio_get_dev_count(int *in_cnt, int *out_cnt);
- CSimpleStringA audio_get_dev_name(bool in_direction, int idx);
- #endif // MEDIACONTROLLER_AUDIO_H
|