diff --git a/lib/src/impl/agora_video_view_impl.dart b/lib/src/impl/agora_video_view_impl.dart index dd32fd694..a2511c419 100644 --- a/lib/src/impl/agora_video_view_impl.dart +++ b/lib/src/impl/agora_video_view_impl.dart @@ -212,7 +212,7 @@ class _AgoraRtcRenderPlatformViewState extends State class _VideoViewControllerInternal with VideoViewControllerBaseMixin { _VideoViewControllerInternal(this._controller); - final VideoViewControllerBase _controller; + final VideoViewControllerBaseMixin _controller; @override VideoCanvas get canvas => _controller.canvas; @@ -233,6 +233,37 @@ class _VideoViewControllerInternal with VideoViewControllerBaseMixin { @override RtcEngine get rtcEngine => _controller.rtcEngine; + + @override + bool get shouldHandlerRenderMode => _controller.shouldHandlerRenderMode; + + @override + void addInitializedCompletedListener(VoidCallback listener) => + _controller.addInitializedCompletedListener(listener); + + @override + void removeInitializedCompletedListener(VoidCallback listener) => + _controller.removeInitializedCompletedListener(listener); + + @override + Future dispose() => _controller.dispose(); + + @override + Future disposeRenderInternal() => _controller.disposeRenderInternal(); + + @override + Future createTextureRender( + int uid, + String channelId, + int videoSourceType, + int videoViewSetupMode, + ) => + _controller.createTextureRender( + uid, channelId, videoSourceType, videoViewSetupMode); + + @override + Future setupView(int nativeViewPtr) => + _controller.setupView(nativeViewPtr); } class AgoraRtcRenderTexture extends StatefulWidget { @@ -256,7 +287,7 @@ class _AgoraRtcRenderTextureState extends State VoidCallback? _listener; - _VideoViewControllerInternal? _controllerInternal; + VideoViewControllerBaseMixin? _controllerInternal; @override void initState() { @@ -267,7 +298,8 @@ class _AgoraRtcRenderTextureState extends State Future _initialize() async { final sourceController = widget.controller; - _controllerInternal = _VideoViewControllerInternal(sourceController); + _controllerInternal = _VideoViewControllerInternal( + sourceController as VideoViewControllerBaseMixin); if (!_controllerInternal!.isInitialzed) { _listener ??= () {