当前位置: 首页 > 工具软件 > Audiostream > 使用案例 >

linphone之AudioStream分析

贺子昂
2023-12-01
struct _AudioStream
{
    MediaStream ms;
    MSFilter *soundread;
    MSFilter *soundwrite;
    MSFilter *dtmfgen;
    MSFilter *dtmfgen_rtp;
    MSFilter *plc;
    MSFilter *ec;/*echo canceler*/
    MSFilter *volsend,*volrecv; /*MSVolumes*/
    MSFilter *local_mixer;
    MSFilter *local_player;
    MSFilter *local_player_resampler;
    MSFilter *read_decoder; /* Used when the input is done via RTP */
    MSFilter *write_encoder; /* Used when the output is done via RTP */
    MSFilter *read_resampler;
    MSFilter *write_resampler;
    MSFilter *equalizer;
    MSFilter *dummy;
    MSFilter *recv_tee;
    MSFilter *recorder_mixer;
    MSFilter *recorder_resample;
    MSFilter *recorder_encoder;
    MSFilter *recorder;
    MSFilter *outbound_mixer;
    struct {
        MSFilter *resampler;
        MSFilter *encoder;
        MSFilter *recorder;
        MSFilter *video_input;
    }av_recorder;
    struct _AVPlayer{
        MSFilter *player;
        MSFilter *resampler;
        MSFilter *decoder;
        MSFilter *video_output;
        int audiopin;
        int videopin;
        bool_t plumbed;
    }av_player;
/**< The RTP session used for RTP input/output. */

    MSFilter *vaddtx;
    char *recorder_file;
    EchoLimiterType el_type; 
    /*use echo limiter: two MSVolume, measured input level controlling local output level*/

    EqualizerLocation eq_loc;
    uint32_t features;
    int sample_rate;
    int nchannels;
/*the stream with which this audiostream is paired*/

    bool_t play_dtmfs;
    bool_t use_ec;
    bool_t use_gc;
    bool_t use_agc;
    bool_t eq_active;
    bool_t use_ng;/*noise gate*/
    bool_t is_ec_delay_set;
};
 类似资料: