多个VideoSurface指向同一个Uid的问题

我看了下VideoSurface.cs的代码,如果我创建了两个(或多个)VideoSurface,并且调用SetForUser,设置为同一个uid的话,当其中一个VideoSurface销毁的时候,会触发OnDestroy方法。
该方法会继续调用videoRender.RemoveUserVideoInfo(mUid);从而导致所有跟该uid相关的VideoSurface全部失效停止工作。
考虑了下,这种是否该改成引用计数的模式,为同一个uid创建多个VideoSurface的时候,销毁其中一个仅将引用计数-1,为0的时候才彻底RemoveUserVideoInfo?

是的哈,目前 SDK 代码是那么设计的,后续这一块可能会进行优化吧。
如果不想全部移除,有个 workaround:


把这段代码放到一个单独的函数里,然后想要彻底移除时,再去调用这个就行了。

这个思路应该可行的,可以自己改一下

感谢解答:grin: