它是否需要为webrtc本机应用程序中的每个对等体单独的rtc :: Runnable线程和PeerConnectionFactory对象?

时间:2018-01-01 14:49:03

标签: c++ multithreading webrtc native

我正在尝试使用WebRTC native APIs创建本机应用程序。对于第一个对等体,我创建了一个rtc :: Runnable对象,并在其Run方法中创建PeerConnectionFactory对象。然后从该对象创建一个peerconnection对象并创建offer并继续设置本地和远程描述以及ICE配置等,一切顺利。

现在我试图了解我应该为同一进程中的第二个对等体做些什么。我是否需要创建另一个rtc :: Runnable线程,还是可以重用它和它的对等连接工厂对象来创建一个单独的对等连接对象?

它可能在文档中的某个地方,但我找不到它。很明显,我需要为每个对等体提供单独的对等连接,并为每个连接提供单独的观察者对象。

这更像是一个设计问题 - 当然使用一切单独的作品。

1 个答案:

答案 0 :(得分:1)

对等连接工厂应由所有对等方共享,您不需要拥有2个工厂。     因此,您可以使用同一工厂创建所需数量的连接。创建对等体时,您还可以创建一个新的观察者,但是您可以拥有一个观察者,它可以为每个对等体处理相同的事件。

EG。来自同行A你得到一个媒体流,A的观察者将它发送到UI,然后B也给你它的流然后B的观察者将它发送到UI,如果你有一个共同的观察者,它可以为两者做同样的事情。