最近在做sip客户端的开发,基于windows平台的.在语音会话中老是出现中断的问题.经过查找发现有两种状况:
1.发送线程发送一段时间后就不发送数据了.
2.播放线程播放一段时间后,在waveoutwrite函数里不返回了,而msdn上说这个函数是异步的,无论如何也会返回的.
对于问题1最后排除了rtp库的问题,发现问题处在在打开录音设备时设的那个回调函数上,那个回调函数执行一段时间后就再也没有进去.多方查找原因也没有找到,从网上down的几个源码也是用回调函数实现的,也出现这个问题.换到其他机子上也是这样.最后,一个同事,找到以前他写的一个源码,不采用回调函数,而采用回调线程,问题就解决了.再也没有中断过.
虽然问题解决了,还是很纳闷,为什么回调函数就不可以?
Windows平台SIP客户端语音中断问题解决
博主在Windows平台进行SIP客户端开发时,语音会话出现中断问题。一是发送线程一段时间后不发送数据,二是播放线程在waveoutwrite函数里不返回。排除RTP库问题后,发现是打开录音设备的回调函数有问题,最终采用回调线程解决了问题。
4169

被折叠的 条评论
为什么被折叠?



