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

Does it require separate rtc::Runnable thread and PeerConnectionFactory object for each peer in webrtc native application?

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

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

它可能在文档中的某处,但我找不到。很明显,我需要为每个对等点建立单独的对等连接,并为每个连接分别设置观察者对象。

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

对等连接工厂应该由所有对等点共享,您不需要有 2 个工厂。 因此,您可以在同一个工厂中创建所需数量的连接。当你创建一个对等点时,你也可以创建一个新的观察者,但是你可以有一个观察者为每个对等点处理相同的事件。

例如。从对等点 A 你得到一个媒体流,A 的观察者将它发送到 UI,然后 B 也给你它的流然后 B 的观察者将它发送到 UI,如果你有一个共同的观察者,它可以做同样的事情对于两者。