-
SIP_protocol.rar下载
资源介绍
接口12:更新视频媒体通道
功能描述:创建一个媒体通道来进行视频通话
函数原形:public static int pnas_pjsua_media_video_update(int call_id, int call_type,
pj_str_t* caller_udn ,nas_remote_video_info remote_video_info,
pnas_video_info_others *video_info_others)
参数说明:call_type ------ 会话媒体类型,一是用于是否需要硬编解码,二是重传功能需要
caller_udn ------- 用户的号码,用于视频学习包的发送(已废弃使用)
pnas_remote_video_info是一个结构体,具体传递参数如下:
Unsigned media_type ----- 媒体类型, 这里只能等于2
pj_str_t remote_ip ----- 呼叫对方的IP
int local_rtp_port ----- 本地传输视频RTP流的端口
int remote_rtp_port ----- 对方接收本地视频RTP流到的端口
int remote_rtcp_port ----- 对方接收本地视频RTCP流到的端口
pjmedia_dir locat_audio_dir ---
{
值为0,待用;
值为1,只编码,会话只发送视频;
值为2,只解码,会话只接收视频;
值为3,编解码,会话支持同时编码和解码视频;
}
PNAS_VIDEO_CODEC_NAME vid_codec_name --- 编解码器(比如H264)
PNAS_VIDEO_FPS fps ----- 视频帧率
PNAS_VIDEO_SIZE video_size ----- 视频分辨率
video_info_others是一个结构体,具体传递参数如下:
int cap_dev --- 用于切换哪一个摄像头,是使用后置、前置还是外置摄像头
返回值:底层返回的值
PJ_ERRNO_PARAM_INVALID=170009 ----- 传入的参数为空或参数不符合要求, 比如媒体类型为音频、没有值或为空
PJ_ERRNO_POOL_ERROR=170014 ----- 创建内存池失败
PJ_ERRNO_AUDIO_STREAM_UPDATE=170015 --- 更新视频媒体通道失败
PJ_ERRNO_VIDEO_CHANNEL_UPDATE=170018 --- 不能更新视频媒体通道,失败
PJ_SUCCESS = 0 ----- 成功
其它说明:根据传入的media_type ,local_rtp_port等参数去查找对应创建的call_media会话端口而更新对应的视频通道。call_type类型要看pnas设计文档,值是跟sip设计文档中不一样的,如果很低层用到这个类型的话,请参考设计文档把值修改过来。