freeswitch结构之switch_core_session_t

struct switch_core_session {
 switch_memory_pool_t *pool;
 switch_thread_t *thread;
 switch_thread_id_t thread_id;
 switch_endpoint_interface_t *endpoint_interface;
 switch_size_t id;
 switch_session_flag_t flags;
 switch_channel_t *channel;

 switch_io_event_hooks_t event_hooks;
 switch_codec_t *read_codec;
 switch_codec_t *real_read_codec;
 switch_codec_t *write_codec;
 switch_codec_t *real_write_codec;
 switch_codec_t *video_read_codec;
 switch_codec_t *video_write_codec;

 switch_codec_implementation_t read_impl;
 switch_codec_implementation_t real_read_impl;
 switch_codec_implementation_t write_impl;
 switch_codec_implementation_t video_read_impl;
 switch_codec_implementation_t video_write_impl;

 switch_audio_resampler_t *read_resampler;
 switch_audio_resampler_t *write_resampler;

 switch_mutex_t *mutex;
 switch_mutex_t *resample_mutex;
 switch_mutex_t *codec_read_mutex;
 switch_mutex_t *codec_write_mutex;
 switch_thread_cond_t *cond;
 switch_mutex_t *frame_read_mutex;

 switch_thread_rwlock_t *rwlock;
 switch_thread_rwlock_t *io_rwlock;

 void *streams[SWITCH_MAX_STREAMS];
 int stream_count;

 char uuid_str[SWITCH_UUID_FORMATTED_LENGTH + 1];
 void *private_info[SWITCH_CORE_SESSION_MAX_PRIVATES];
 switch_queue_t *event_queue;
 switch_queue_t *message_queue;
 switch_queue_t *signal_data_queue;
 switch_queue_t *private_event_queue;
 switch_queue_t *private_event_queue_pri;
 switch_thread_rwlock_t *bug_rwlock;
 switch_media_bug_t *bugs;
 switch_app_log_t *app_log;
 uint32_t stack_count;

 switch_buffer_t *raw_write_buffer;
 switch_frame_t raw_write_frame;
 switch_frame_t enc_write_frame;
 uint8_t raw_write_buf[SWITCH_RECOMMENDED_BUFFER_SIZE];
 uint8_t enc_write_buf[SWITCH_RECOMMENDED_BUFFER_SIZE];

 switch_buffer_t *raw_read_buffer;
 switch_frame_t raw_read_frame;
 switch_frame_t enc_read_frame;
 uint8_t raw_read_buf[SWITCH_RECOMMENDED_BUFFER_SIZE];
 uint8_t enc_read_buf[SWITCH_RECOMMENDED_BUFFER_SIZE];
 switch_codec_t bug_codec;
 uint32_t read_frame_count;
 uint32_t track_duration;
 uint32_t track_id;
 switch_log_level_t loglevel;
 uint32_t soft_lock;
 switch_ivr_dmachine_t *dmachine[2];
 plc_state_t *plc;

 switch_media_handle_t *media_handle;
 uint32_t decoder_errors;
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值