diff --git a/lib/src/impl/agora_video_view_impl.dart b/lib/src/impl/agora_video_view_impl.dart index a2511c419..c4543eeda 100644 --- a/lib/src/impl/agora_video_view_impl.dart +++ b/lib/src/impl/agora_video_view_impl.dart @@ -214,6 +214,8 @@ class _VideoViewControllerInternal with VideoViewControllerBaseMixin { final VideoViewControllerBaseMixin _controller; + int _textureId = kTextureNotInit; + @override VideoCanvas get canvas => _controller.canvas; @@ -237,6 +239,9 @@ class _VideoViewControllerInternal with VideoViewControllerBaseMixin { @override bool get shouldHandlerRenderMode => _controller.shouldHandlerRenderMode; + @override + int getTextureId() => _textureId; + @override void addInitializedCompletedListener(VoidCallback listener) => _controller.addInitializedCompletedListener(listener); @@ -261,6 +266,13 @@ class _VideoViewControllerInternal with VideoViewControllerBaseMixin { _controller.createTextureRender( uid, channelId, videoSourceType, videoViewSetupMode); + @override + Future initializeRender() async { + await _controller.initializeRender(); + // Renew the texture id + _textureId = _controller.getTextureId(); + } + @override Future setupView(int nativeViewPtr) => _controller.setupView(nativeViewPtr);