public void Start(ulong senderId, int frameWidth, int frameHeight)
        {
            Stop();

            _senderId = (uint)senderId;

            IRtcEngine engine = IRtcEngine.QueryEngine();

            if (engine != null)
            {
                _videoRender = (VideoRender)engine.GetVideoRender();
                _videoRender.SetVideoRenderMode(VIDEO_RENDER_MODE.RENDER_RAWDATA);
                _videoRender.AddUserVideoInfo(_senderId, 0);
            }

            _nativeTexture = new Texture2D(frameWidth, frameHeight, TextureFormat.RGBA32, false);
            OnUpdateTexture?.Invoke(_nativeTexture);

            _customTextureRenderer =
                new PluginTextureRenderer(
                    UpdateRawTextureDataFunction,
                    targetTexture: _nativeTexture,
                    autoDispose: false
                    );

            CustomTextureRenderSystem.Instance.AddRenderer(_customTextureRenderer);
        }