AnyChat技术支持论坛
标题:
调用BRAC_LeaveRoom死锁
[打印本页]
作者:
mye
时间:
2014-2-8 10:05
标题:
调用BRAC_LeaveRoom死锁
死锁原因是, VideoData_CallBack我的一个视频数据回调函数正在进行处理,
我想问一下,在用户从界面关闭视频窗口的时候, 在调用BRAC_LeaveRoom前,该做些什么,才能避免这种死锁呢?
作者:
mye
时间:
2014-2-8 10:10
视频回调函数是我自己处理的没有使用BRAC_SetVideoPos自动处理视频渲染
作者:
admin
时间:
2014-2-8 10:14
您好,请问调用BRAC_SetVideoPos自动处理视频渲染,是否会死锁?
作者:
佰锐技术-卓剑锐
时间:
2014-2-8 10:14
你好,请将客户端日志附上来看一下。
试下在BRAC_LeaveRoom前,将对方和自己的视频都关闭一下。
AnyChatCoreSDK.UserCameraControl(ID, false);
AnyChatCoreSDK.UserSpeakControl(ID, false);
作者:
mye
时间:
2014-2-8 10:17
我看了所有的日志,都是正常的。就是我想关闭的时候,因为在视频数据回调函数中没有渲染完,所以产生死锁。
你说的AnyChatCoreSDK.UserCameraControl(ID, false); 我都试过了,不过还是一样的问题,死锁。
作者:
mye
时间:
2014-2-8 10:19
就是两个时机,正好在我主线程调用BRAC_LeaveRoom, 我的视频渲染函数所在的线程还没执行完,
也就是说VideoData_CallBack这个回调函数还没有执行完。然后就死锁了。
作者:
admin
时间:
2014-2-8 10:19
您好,请运行一下:AnyChat for Windows SDK\src\client\c++\BRAnyChatSDKDemo,这个示例程序可以自动渲染视频,也可以通过VideoData_CallBack来绘制视频,看看在自己绘制视频时是否也会出现死锁的问题?
作者:
mye
时间:
2014-2-8 10:20
[2014-02-08 10:01:17(953)] MinCroppingSize(1920, 1080) MaxCroppingSize(1920, 1080) Format(MJPG, 0x8d2181)
[2014-02-08 10:01:17(973)] Video Config Size(1280, 720) Format(YUY2, 25fps)
[2014-02-08 10:01:18(139)] video init finish:1280x720, YUY2, fps:10
[2014-02-08 10:01:18(538)] video codec init:codec:1, 25fps, 1280x720, bitrate:1000000, quality:3, preset:3, gop:30, handle:2
这是最后的那端日志。
作者:
mye
时间:
2014-2-8 10:26
我是以浏览器插件的方式来运行的视频插件的。
我认为是不是在调用退出前应该检查一下,视频回调函数有没有在执行,如果在执行的话,等待执行完了再调用BRAC_LeaveRoom,
但是我不明白BRAC_LeaveRoom和VideoData_CallBack这两个调用之间为什么会存在死锁呢?
作者:
admin
时间:
2014-2-8 10:34
我是以浏览器插件的方式来运行的视频插件的
您好,请问您是使用的AnyChat for Web SDK吗?还是使用AnyChat for Windows SDK,然后自己封装的插件?
欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/)
Powered by Discuz! X3