Skip to content

Commit

Permalink
v6.8.0
Browse files Browse the repository at this point in the history
 - 升级 SDK C++ 封装层为 IM 6.8.0 对应版本并更新 SDK 二进制文件到 6.8.0
 - 删除 image_view 项目依赖 duilib 但找不到文件的错误提示
  • Loading branch information
nmgwddj committed Aug 13, 2019
1 parent dd3e908 commit f350891
Show file tree
Hide file tree
Showing 34 changed files with 250 additions and 146 deletions.
8 changes: 8 additions & 0 deletions app_sdk/app_sdk.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,14 @@ xcopy ..\nim_sdk\bin\x64_dlls\nim_sdk_cpp_wrapper_dll.* ..\bin\ /y</Command>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\nim_sdk\src\cpp_sdk\nim\nim_sdk_cpp_wrapper_lib_mt.vcxproj">
<Project>{9e545944-c56c-41c0-9dfc-cd66368a15e8}</Project>
</ProjectReference>
<ProjectReference Include="..\nim_sdk\src\cpp_sdk\nim_chatroom\nim_chatroom_sdk_cpp_wrapper_lib_mt.vcxproj">
<Project>{f0dc120d-3448-4d53-ae53-57aa0903db89}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
Expand Down
Binary file modified bin/nim.dll
Binary file not shown.
Binary file modified bin/nim_audio.dll
Binary file not shown.
Binary file modified bin/nim_audio_hook.dll
Binary file not shown.
Binary file modified bin/nim_chatroom.dll
Binary file not shown.
7 changes: 7 additions & 0 deletions bin/nim_conf/ver_ctrl.dll
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<Nim>
<MainVersion name="" version="1562" version_flag="V6.8.0"/>
</Nim>




Binary file modified bin/nim_tools_http.dll
Binary file not shown.
Binary file modified bin/nrtc.dll
Binary file not shown.
Binary file modified bin/nrtc_audio_process.dll
Binary file not shown.
Binary file modified bin/x64_dlls/cef/libEGL.dll
Binary file not shown.
Binary file modified bin/x64_dlls/cef/libGLESv2.dll
Binary file not shown.
Binary file modified bin/x64_dlls/cef/nim_libcef.dll
Binary file not shown.
Binary file modified bin/x64_dlls/cef/widevinecdm.dll
Binary file not shown.
Binary file modified bin/x64_dlls/image_ole.dll
Binary file not shown.
Binary file modified bin/x64_dlls/nim.dll
Binary file not shown.
Binary file modified bin/x64_dlls/nim_audio.dll
Binary file not shown.
Binary file removed bin/x64_dlls/nim_audio_d.dll
Binary file not shown.
Binary file modified bin/x64_dlls/nim_chatroom.dll
Binary file not shown.
Binary file modified bin/x64_dlls/nim_tools_http.dll
Binary file not shown.
Binary file modified bin/x64_dlls/nrtc.dll
Binary file not shown.
Binary file modified bin/x64_dlls/nrtc_audio_process.dll
Binary file not shown.
Binary file modified bin/x64_dlls/p2p/nim_p2p_inlan.dll
Binary file not shown.
Binary file modified bin/x64_dlls/p2p/nim_p2p_inlan_d.dll
Binary file not shown.
Binary file modified bin/x64_dlls/p2p/nim_p2p_sdk.dll
Binary file not shown.
Binary file modified bin/x64_dlls/p2p/nim_p2p_sdk_d.dll
Binary file not shown.
83 changes: 49 additions & 34 deletions nim_sdk/public_define/defines/nim_define/nim_vchat_def.h
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,19 @@ enum NIMVChatPubSubNotifyType
kNIMVChatNotifyUnsubscribeAudioRet = 7, /**< 本地取消订阅远端音频操作的结果返回通知 */
};

/** @enum NIMVChatPublishVideoStreamMode 发布视频流模式 */
enum NIMVChatPublishVideoStreamMode
{
kNIMVChatPublishVideoSingleStream = 0, /**< 发布单流模式(默认) */
kNIMVChatPublishVideoDualStream = 1, /**< 发布双流模式 */
};
/** @enum NIMVChatPublishVideoSimulcastRes 视频流类型 */
enum NIMVChatPublishVideoSimulcastRes
{
kNIMVChatPublishVideoSimulcastResHigh = 0, /**< 高分辨率视频流 */
kNIMVChatPublishVideoSimulcastResLow = 2, /**< 低分辨率视频流 */
};

/** @enum NIMVChatPubSubErrorCode 订阅及发布相关通知类型 */
enum NIMVChatPubSubErrorCode
{
Expand All @@ -268,6 +281,7 @@ enum NIMVChatPubSubErrorCode
kNIMVChatPSErrCodeOptBusy = -400, /**< 操作繁忙 */
kNIMVChatPSErrCodeAutoMode = -500, /**< 模式互斥 (当前是自动发布) */
kNIMVChatPSErrCodeForbid = -600, /**< 操作无效,对点对模式不支持订阅相关功能 */
kNIMVChatPSErrCodeSubscribed = -700, /**< 操作无效,视频类型冲突,需要取消之前订阅的流 */
};

/** @name 初始化 内容Json key for nim_vchat_init
Expand Down Expand Up @@ -333,39 +347,40 @@ static const char *kNIMVChatVEncodeMode = "v_encode_mode"; /**< int, 使用的
/** @name json extension params for nim_vchat_cb_func
* @{
*/
static const char *kNIMVChatUid = "uid"; /**< string 帐号 */
static const char *kNIMVChatStatus = "status"; /**< int 状态 */
static const char *kNIMVChatRecordAddr = "record_addr"; /**< string 录制地址(服务器开启录制时有效) */
static const char *kNIMVChatRecordFile = "record_file"; /**< string 服务器音频录制文件名(服务器开启录制时有效) */
static const char *kNIMVChatVideoRecordFile = "video_record_file"; /**< string 服务器视频录制文件名(服务器开启录制时有效) */
static const char *kNIMVChatType = "type"; /**< int 状态 */
static const char *kNIMVChatTime = "time"; /**< int64 时间 单位毫秒 */
static const char *kNIMVChatAccept = "accept"; /**< int 是否接受 >0表示接受 */
static const char *kNIMVChatClient = "client"; /**< int 客户端类型 NIMClientType见nim_client_def.h */
static const char *kNIMVChatMp4Start = "mp4_start"; /**< key Mp4写入数据开始 kNIMVChatMp4File kNIMVChatTime(本地时间点) */
static const char *kNIMVChatMp4Close = "mp4_close"; /**< key 结束Mp4录制,返回时长及原因 kNIMVChatStatus(NIMVChatMp4RecordCode) kNIMVChatTime(时长) kNIMVChatMp4File */
static const char *kNIMVChatMp4File = "mp4_file"; /**< string mp4录制地址 */
static const char *kNIMVChatAuRecordStart = "audio_record_start"; /**< key 音频录制写入数据开始 kNIMVChatFile kNIMVChatTime */
static const char *kNIMVChatAuRecordClose = "audio_record_close"; /**< key 结束音频录制,返回时长及原因 kNIMVChatStatus(NIMVChatAudioRecordCode) kNIMVChatTime kNIMVChatFile */
static const char *kNIMVChatFile = "file"; /**< string 文件地址 */
static const char *kNIMVChatCustomInfo = "custom_info"; /**< string 自定义数据 */
static const char *kNIMVChatVideo = "video"; /**< key 视频 */
static const char *kNIMVChatAudio = "audio"; /**< key 音频 */
static const char *kNIMVChatStaticInfo = "static_info"; /**< key 音视频实时状态 */
static const char *kNIMVChatFPS = "fps"; /**< int 每秒帧率或者每秒发包数 */
static const char *kNIMVChatKBPS = "KBps"; /**< int 每秒流量,单位为“千字节” */
static const char *kNIMVChatLostRate = "lost_rate"; /**< int 丢包率,单位是百分比 */
static const char *kNIMVChatRtt = "rtt"; /**< int rtt 网络延迟 */
static const char *kNIMVChatAudioVolume = "audio_volume"; /**< key 音频实时音量通知,包含发送的音量kNIMVChatSelf和接收音量kNIMVChatReceiver,kNIMVChatStatus的音量值是pcm的平均值最大为int16_max */
static const char *kNIMVChatSelf = "self"; /**< key 本人信息 */
static const char *kNIMVChatReceiver = "receiver"; /**< key 接收信息 */
static const char *kNIMVChatLiveState = "live_state"; /**< key 直播状态 kNIMVChatStatus(NIMVChatLiveStateCode) */
static const char *kNIMVChatMp4AudioType = "mp4_audio"; /**< int mp4录制时音频情况,0标识只录制当前成员,1标识录制通话全部混音(等同音频文件录制的声音) */
static const char *kNIMVChatMp4Recode = "mp4_recode"; /**< bool mp4录制时重新编码开关 */
static const char *kNIMVChatMp4Width = "mp4_width"; /**< int 录制的mp4的宽度,默认为0,小于16无效,无效时取视频默认大小*/
static const char *kNIMVChatMp4Height = "mp4_height"; /**< int 录制的mp4的高度,默认为0,小于16无效,无效时取视频默认大小*/
static const char *kNIMVChatTrafficStatRX = "trafficstat_rx"; /**< uint64 下行流量(字节) */
static const char *kNIMVChatTrafficStatTX = "trafficstat_tx"; /**< uint64 上行流量(字节) */
static const char *kNIMVChatUid = "uid"; /**< string 帐号 */
static const char *kNIMVChatStatus = "status"; /**< int 状态 */
static const char *kNIMVChatRecordAddr = "record_addr"; /**< string 录制地址(服务器开启录制时有效) */
static const char *kNIMVChatRecordFile = "record_file"; /**< string 服务器音频录制文件名(服务器开启录制时有效) */
static const char *kNIMVChatVideoRecordFile = "video_record_file"; /**< string 服务器视频录制文件名(服务器开启录制时有效) */
static const char *kNIMVChatType = "type"; /**< int 状态 */
static const char *kNIMVChatTime = "time"; /**< int64 时间 单位毫秒 */
static const char *kNIMVChatAccept = "accept"; /**< int 是否接受 >0表示接受 */
static const char *kNIMVChatClient = "client"; /**< int 客户端类型 NIMClientType见nim_client_def.h */
static const char *kNIMVChatMp4Start = "mp4_start"; /**< key Mp4写入数据开始 kNIMVChatMp4File kNIMVChatTime(本地时间点) */
static const char *kNIMVChatMp4Close = "mp4_close"; /**< key 结束Mp4录制,返回时长及原因 kNIMVChatStatus(NIMVChatMp4RecordCode) kNIMVChatTime(时长) kNIMVChatMp4File */
static const char *kNIMVChatMp4File = "mp4_file"; /**< string mp4录制地址 */
static const char *kNIMVChatAuRecordStart = "audio_record_start"; /**< key 音频录制写入数据开始 kNIMVChatFile kNIMVChatTime */
static const char *kNIMVChatAuRecordClose = "audio_record_close"; /**< key 结束音频录制,返回时长及原因 kNIMVChatStatus(NIMVChatAudioRecordCode) kNIMVChatTime kNIMVChatFile */
static const char *kNIMVChatFile = "file"; /**< string 文件地址 */
static const char *kNIMVChatCustomInfo = "custom_info"; /**< string 自定义数据 */
static const char *kNIMVChatVideo = "video"; /**< key 视频 */
static const char *kNIMVChatAudio = "audio"; /**< key 音频 */
static const char *kNIMVChatStaticInfo = "static_info"; /**< key 音视频实时状态 */
static const char *kNIMVChatFPS = "fps"; /**< int 每秒帧率或者每秒发包数 */
static const char *kNIMVChatKBPS = "KBps"; /**< int 每秒流量,单位为“千字节” */
static const char *kNIMVChatLostRate = "lost_rate"; /**< int 丢包率,单位是百分比 */
static const char *kNIMVChatRtt = "rtt"; /**< int rtt 网络延迟 */
static const char *kNIMVChatAudioVolume = "audio_volume"; /**< key 音频实时音量通知,包含发送的音量kNIMVChatSelf和接收音量kNIMVChatReceiver,kNIMVChatStatus的音量值是pcm的平均值最大为int16_max */
static const char *kNIMVChatSelf = "self"; /**< key 本人信息 */
static const char *kNIMVChatReceiver = "receiver"; /**< key 接收信息 */
static const char *kNIMVChatLiveState = "live_state"; /**< key 直播状态 kNIMVChatStatus(NIMVChatLiveStateCode) */
static const char *kNIMVChatMp4AudioType = "mp4_audio"; /**< int mp4录制时音频情况,0标识只录制当前成员,1标识录制通话全部混音(等同音频文件录制的声音) */
static const char *kNIMVChatMp4Recode = "mp4_recode"; /**< bool mp4录制时重新编码开关 */
static const char *kNIMVChatMp4Width = "mp4_width"; /**< int 录制的mp4的宽度,默认为0,小于16无效,无效时取视频默认大小*/
static const char *kNIMVChatMp4Height = "mp4_height"; /**< int 录制的mp4的高度,默认为0,小于16无效,无效时取视频默认大小*/
static const char *kNIMVChatTrafficStatRX = "trafficstat_rx"; /**< uint64 下行流量(字节) */
static const char *kNIMVChatTrafficStatTX = "trafficstat_tx"; /**< uint64 上行流量(字节) */
static const char *kNIMVChatVideoSimulcastResList = "video_simulcast_res_list"; /**< json array 订阅发布视频分辨率类型列表*/
/** @}*/ //json extension params

/** @typedef void (*nim_vchat_cb_func)(NIMVideoChatSessionType type, int64_t channel_id, int code, const char *json_extension, const void *user_data)
Expand Down Expand Up @@ -393,7 +408,7 @@ static const char *kNIMVChatTrafficStatTX = "trafficstat_tx"; /**< uint64 上
* kNIMVideoChatSessionTypeInfoNotify //实时状态 {"static_info":{"rtt":20, "video": {"fps":20, "KBps":200, "lost_rate":5, "width":1280,"height":720}, "audio": {"fps":17, "KBps":3", lost_rate":3 }}} \n
* kNIMVideoChatSessionTypeVolumeNotify //音量状态 {"audio_volume":{ "self": {"status":600}, "receiver": [{"uid":"id123","status":1000},{"uid":"id456","status":222}] }} \n
* kNIMVideoChatSessionTypeLiveState //windows(pc)有效.直播状态 {"live_state":{"status":505 }} \n
* kNIMVideoChatSessionTypePubSubNotify //订阅及发布相关的通知,code返回(NIMVChatPubSubErrorCode),json包含kNIMVChatType(NIMVChatPubSubNotifyType) 远端视频额外带有kNIMVChatUid \n
* kNIMVideoChatSessionTypePubSubNotify //订阅及发布相关的通知,code返回(NIMVChatPubSubErrorCode),json包含kNIMVChatType(NIMVChatPubSubNotifyType) 远端视频额外带有kNIMVChatUid 本端订阅发布操作、远端发布带有kNIMVChatVideoSimulcastResList\n
* @param[out] type NIMVideoChatSessionType
* @param[out] channel_id 通话的通道id
* @param[out] code 结果类型或错误类型
Expand Down
43 changes: 36 additions & 7 deletions nim_sdk/src/c_sdk/nim/api/nim_vchat.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
#ifndef NIM_SDK_DLL_API_NIM_VCHAT_H_
#define NIM_SDK_DLL_API_NIM_VCHAT_H_


#include "public_define/defines/nim_sdk_dll.h"
#include "public_define/defines/nim_define/nim_vchat_def.h"
#include "public_define/defines/nim_define/nim_global_def.h"
Expand Down Expand Up @@ -150,7 +151,7 @@ NIM_SDK_DLL_API void nim_vchat_end(const char *json_extension);
* @param[in] room_name 房间名
* @param[in] custom_info 自定义的房间信息(加入房间的时候会返回)
* @param[in] json_extension 无效
* @param[in] cb 结果回调见nim_vchat_def.h,返回的json_extension无效
* @param[in] cb 结果回调见nim_vchat_def.h,返回的json_extension无效,返回的channel id 无效
* @param[in] user_data APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
* @return void 无返回值
* @note 错误码 200:成功
Expand Down Expand Up @@ -407,28 +408,56 @@ NIM_SDK_DLL_API bool nim_vchat_is_auto_subscribe_video();
*/
NIM_SDK_DLL_API bool nim_vchat_is_auto_subscribe_audio();

/** @fn void nim_vchat_publish_video(bool pub, const char *json_extension, nim_vchat_opt_cb_func cb, const void *user_data)
/** @fn bool nim_chat_set_local_video_simulcast_mode(enum NIMVChatPublishVideoStreamMode video_stream_mode)
* NRTC 设置本地默认发布的视频流模式,默认为单流(自动发布模式下有效)
* @param[in] video_stream_mode 目前仅支持单/双流模式。
* @return bool 是否调用成功
*/
NIM_SDK_DLL_API bool nim_chat_set_local_video_simulcast_mode(enum NIMVChatPublishVideoStreamMode video_stream_mode);

/** @fn void nim_vchat_publish_video(const char *json_extension, nim_vchat_opt_cb_func cb, const void *user_data)
* 通话中设置自己的视频数据发布接口。该接口仅限于多人通话模式,且通话未发起时设置失败。
* 回调结果只代表本地的操作结果,远端是否成功等对应的通知kNIMVChatNotifyPublishVideoRet及kNIMVChatNotifyUnpublishVideoRet
* @param[in] pub 是否发布视频数据
* @param[in] json_extension 无效扩展字段
* @param[in] cb 结果回调见nim_vchat_def.h,返回的json_extension无效。错误码见NIMVChatPubSubErrorCode。
* @param[in] user_data APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
* @return void 无返回值
*/
NIM_SDK_DLL_API void nim_vchat_publish_video(bool pub, const char *json_extension, nim_vchat_opt_cb_func cb, const void *user_data);
NIM_SDK_DLL_API void nim_vchat_publish_video(const char *json_extension, nim_vchat_opt_cb_func cb, const void *user_data);


/** @fn void nim_vchat_unpublish_video(const char *json_extension, nim_vchat_opt_cb_func cb, const void *user_data)
* 通话中设置自己的视频数据取消发布接口。该接口仅限于多人通话模式,且通话未发起时设置失败。
* 回调结果只代表本地的操作结果,远端是否成功等对应的通知kNIMVChatNotifyPublishVideoRet及kNIMVChatNotifyUnpublishVideoRet
* @param[in] json_extension 无效扩展字段
* @param[in] cb 结果回调见nim_vchat_def.h,返回的json_extension无效。错误码见NIMVChatPubSubErrorCode。
* @param[in] user_data APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
* @return void 无返回值
*/
NIM_SDK_DLL_API void nim_vchat_unpublish_video(const char *json_extension, nim_vchat_opt_cb_func cb, const void *user_data);


/** @fn void nim_vchat_subscribe_video(const char *uid, bool sub, const char *json_extension, nim_vchat_opt_cb_func cb, const void *user_data)
/** @fn void nim_vchat_subscribe_video(const char *uid, const char *json_extension, nim_vchat_opt_cb_func cb, const void *user_data)
* 通话中设置订阅某一方的视频数据,该接口仅限于多人通话模式,且通话未发起时设置失败。
* 回调结果只代表本地的操作结果,远端是否成功等对应的通知kNIMVChatNotifySubscribeVideoRet及kNIMVChatNotifyUnsubscribeVideoRet
* @param[in] uid 用户账号
* @param[in] sub 是否订阅视频数据
* @param[in] json_extension 无效扩展字段
* @param[in] cb 结果回调见nim_vchat_def.h,返回的json_extension带有kNIMVChatId,即调用时传入的uid;错误码见NIMVChatPubSubErrorCode。
* @param[in] user_data APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
* @return void 无返回值
*/
NIM_SDK_DLL_API void nim_vchat_subscribe_video(const char *uid, bool sub, const char *json_extension, nim_vchat_opt_cb_func cb, const void *user_data);
NIM_SDK_DLL_API void nim_vchat_subscribe_video(const char *uid, const char *json_extension, nim_vchat_opt_cb_func cb, const void *user_data);

/** @fn void nim_vchat_unsubscribe_video(const char *uid, const char *json_extension, nim_vchat_opt_cb_func cb, const void *user_data)
* 通话中设置取消订阅某一方的视频数据,该接口仅限于多人通话模式,且通话未发起时设置失败。
* 回调结果只代表本地的操作结果,远端是否成功等对应的通知kNIMVChatNotifySubscribeVideoRet及kNIMVChatNotifyUnsubscribeVideoRet
* @param[in] uid 用户账号
* @param[in] json_extension 无效扩展字段
* @param[in] cb 结果回调见nim_vchat_def.h,返回的json_extension带有kNIMVChatId,即调用时传入的uid;错误码见NIMVChatPubSubErrorCode。
* @param[in] user_data APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
* @return void 无返回值
*/
NIM_SDK_DLL_API void nim_vchat_unsubscribe_video(const char *uid, const char *json_extension, nim_vchat_opt_cb_func cb, const void *user_data);

/** @fn void nim_vchat_subscribe_audio(bool sub, const char *json_extension, nim_vchat_opt_cb_func cb, const void *user_data)
* 通话中设置订阅音频数据,默认自动订阅。音频数据没有单独订阅某一成员的接口。该接口仅限于多人通话模式,且通话未发起时设置失败。
Expand Down
Loading

0 comments on commit f350891

Please sign in to comment.