Skip to content

Commit

Permalink
fix: [texture rendering] Fix texture id lost when widget is updated
Browse files Browse the repository at this point in the history
  • Loading branch information
littleGnAl committed Feb 4, 2024
1 parent 2e98d44 commit 003222a
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions lib/src/impl/agora_video_view_impl.dart
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,8 @@ class _VideoViewControllerInternal with VideoViewControllerBaseMixin {

final VideoViewControllerBaseMixin _controller;

int _textureId = kTextureNotInit;

@override
VideoCanvas get canvas => _controller.canvas;

Expand All @@ -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);
Expand All @@ -261,6 +266,13 @@ class _VideoViewControllerInternal with VideoViewControllerBaseMixin {
_controller.createTextureRender(
uid, channelId, videoSourceType, videoViewSetupMode);

@override
Future<void> initializeRender() async {
await _controller.initializeRender();
// Renew the texture id
_textureId = _controller.getTextureId();
}

@override
Future<void> setupView(int nativeViewPtr) =>
_controller.setupView(nativeViewPtr);
Expand Down

0 comments on commit 003222a

Please sign in to comment.