|
您好,版主。我网上下载了贵团队6月13日发布的版本5.0.4086中发现贵团队公开了视音频加解密api。我在测试加解密api时发现,回调函数仅能对本地的视音频进行加密,而对于接收到的加密视音频数据并没有调用回调函数。
我使用的测试环境为windows 8.1 x64, visual studio 2013. 修改的客户端版本为C++版本。期待您的解惑。万分感谢!
我根据开发手册,对客户端进行的修改如下。- //初始化
- dwDataEncryption = 1;
- BRAC_SetSDKOption(BRAC_SO_CORESDK_DATAENCRYPTION, (CHAR*) &dwDataEncryption, sizeof(DWORD));
- //设置回调加解密函数
- BRAC_SetDataEncDecCallBack(AudioAndVideoEnAndDe, &mDataEnAndDe);
- // 实现加解密回调函数
- DWORD CALLBACK AudioAndVideoEnAndDe(DWORD dwUserId, DWORD dwFlags, LPBYTE lpInBuf, DWORD dwInSize, LPBYTE lpOutBuf, LPDWORD lpOutSize, LPVOID lpUserValue)
- {
- CDataEnAndDe *pDataEnAndDe = (CDataEnAndDe *) lpUserValue;
- if ((dwFlags & BRAC_DATAENCDEC_FLAGS_ENCMODE) != 0) //加密模式
- {
- if ((dwFlags & BRAC_DATAENCDEC_FLAGS_AUDIO) != 0) //对音频数据进行加密
- {
-
- pDataEnAndDe->Encryption(lpInBuf, dwInSize, lpOutBuf, lpOutSize); //加密过程
-
- }
- else if ((dwFlags & BRAC_DATAENCDEC_FLAGS_VIDEO) != 0) //对视频数据进行加密
- {
- pDataEnAndDe->Encryption(lpInBuf, dwInSize, lpOutBuf, lpOutSize); //加密过程
- }
- else
- ;//此种情况应该不会出现
- }
- else if ((dwFlags & BRAC_DATAENCDEC_FLAGS_DECMODE) != 0) //解密模式
- {
- if ((dwFlags & BRAC_DATAENCDEC_FLAGS_AUDIO) != 0) //对音频数据进行解密
- {
- pDataEnAndDe->Decryption(lpInBuf, dwInSize, lpOutBuf, lpOutSize);
- }
- else if ((dwFlags & BRAC_DATAENCDEC_FLAGS_VIDEO) != 0) //对视频数据进行解密
- {
- pDataEnAndDe->Decryption(lpInBuf, dwInSize, lpOutBuf, lpOutSize);
- }
- else
- ;//此种情况应该不会出现
- }
- else
- ;//此种情况应该不会出现
-
- return 1;
- }
复制代码 |
|