私はWebRTCピアツーピア接続を実装しており、C++を使用したオーディオコールが可能です。WebRTCピアツーピア接続
私は2つのスレッド_worker_thread
と_signaling_thread
を持っています。今度はwebrtc::CreatePeerConnectionFactory()
メソッドを呼び出して_peerConnectionFactory
を作成しようとすると、私のアプリケーションがクラッシュします。どうすればそれを動作させることができますか?
_signaling_thread.reset(new rtc::Thread());
if(!_signaling_thread->Start())
{
printf("_signaling_thread is Failed");
return;
}
_worker_thread.reset(new rtc::Thread());
if (!_worker_thread->Start()) {
printf("_worker_thread is Failed");
return;
}
_peerConnectionFactory = webrtc::CreatePeerConnectionFactory(_worker_thread.get(),_signaling_thread.get(),NULL,NULL,NULL);
これは私がのWebRTCのソースコード内に位置しPeerConnectionサンプルを見て取った後
* thread #15: tid = 0x17e516, 0x00000001008d5674 MyAPP`rtc::MessageQueue::Get(rtc::Message*, int, bool) + 816, stop reason = EXC_BAD_ACCESS (code=1, address=0x100000038)
* frame #0: 0x00000001008d5674 MyAPP`rtc::MessageQueue::Get(rtc::Message*, int, bool) + 816
frame #1: 0x00000001008e5fb0 MyAPP`rtc::Thread::ProcessMessages(int) + 100
frame #2: 0x00000001008e5e44 MyAPP`rtc::Thread::PreRun(void*) + 88
frame #3: 0x0000000199337b3c libsystem_pthread.dylib`_pthread_body + 156
frame #4: 0x0000000199337aa0 libsystem_pthread.dylib`_pthread_start + 1
投稿には何の疑問もありませんが、どういうわけか2度upvotedされました。私は誰がなぜアップボーディングをしたのだろうと思っています。 – SergeyA
@SergeyAなぜ私のために働いていないのか、この問題を解決する方法はありますか?知りたいことがあれば、私に知らせてください。 – Aagman
投稿されたコードにバックトレースがどのように関連しているかは不明です。 'rtc :: MessageQueue :: Get'のオフセット816はどうなりますか?なぜ、その関数が呼び出されるのですか? 'pthread'行から、私はこれがバックグラウンドスレッドの1つで起こっていると推測しています。あなたはどれを教えてくれますか? –