gstreamer管道sendEOS死锁
我有一个java应用程序,它使用gstreamer处理一些音频。我的管道是:
udpsrc name=side1 address=“loadtest3.pslab.corp”检索发送方地址=false重用=false端口=17840 caps=“应用程序/x-rtp,媒体=(字符串)音频,有效负载=0,时钟速率=(int)8000”超时=1000000000!rtppcmudepay!rtppcmupay最小ptime=100000000最大ptime=100000000 mtu=10012!rtppcmudepay!mulawdec!交错名称=混合!穆拉文克!appsink name=appsink wait on eos=false emit signals=true sync=false async=false udpsrc name=side2 address=“loadtest3.pslab.corp”retrieve sender address=false reuse=false port=17842 caps=“application/x-rtp,media=(string)audio,payload=0,clock rate=(int)8000”!rtppcmudepay!rtppcmupay最小ptime=100000000最大ptime=100000000 mtu=10012!rtppcmudepay!mulawdec!混合
我确实有200多条管道在Parralel中运行,当代码在播放状态下感应到一个EOS时,一些管道会在sendEOS请求中陷入死锁。例如,从1693条执行的管道中,我得到了67条最终陷入死锁的管道。
参见图片。我想了解为什么会发生这种情况&我怎样才能避免呢。我已经将appsink上的wait on eos添加为false,但行为保持不变。
有什么想法吗?!?谢谢。