diff --git a/Assets/USharpVideo/Scripts/USharpVideoPlayer.cs b/Assets/USharpVideo/Scripts/USharpVideoPlayer.cs index e029779..3b1eec9 100644 --- a/Assets/USharpVideo/Scripts/USharpVideoPlayer.cs +++ b/Assets/USharpVideo/Scripts/USharpVideoPlayer.cs @@ -1333,8 +1333,13 @@ public void RegisterControlHandler(VideoControlHandler newControlHandler) VideoPlayerManager manager = GetVideoManager(); newControlHandler.SetVolume(manager.GetVolume()); newControlHandler.SetMuted(manager.IsMuted()); + + if (IsUsingUnityPlayer()) + newControlHandler.SetToVideoPlayerMode(); + else + newControlHandler.SetToStreamPlayerMode(); } - + public void UnregisterControlHandler(VideoControlHandler controlHandler) { if (_registeredControlHandlers == null) @@ -1442,6 +1447,8 @@ public void RegisterScreenHandler(VideoScreenHandler newScreenHandler) return; } + newScreenHandler.UpdateVideoTexture(_lastAssignedRenderTexture, IsUsingAVProPlayer()); + VideoScreenHandler[] newControlHandlers = new VideoScreenHandler[_registeredScreenHandlers.Length + 1]; _registeredScreenHandlers.CopyTo(newControlHandlers, 0); _registeredScreenHandlers = newControlHandlers; @@ -1490,7 +1497,7 @@ private void UpdateRenderTexture() foreach (VideoScreenHandler handler in _registeredScreenHandlers) { - if (handler) + if (handler && handler.GetVideoTexture() != renderTexture) { handler.UpdateVideoTexture(renderTexture, IsUsingAVProPlayer()); } diff --git a/Assets/USharpVideo/Scripts/Utility/VideoScreenHandler.cs b/Assets/USharpVideo/Scripts/Utility/VideoScreenHandler.cs index b5ee91a..80c2d91 100644 --- a/Assets/USharpVideo/Scripts/Utility/VideoScreenHandler.cs +++ b/Assets/USharpVideo/Scripts/Utility/VideoScreenHandler.cs @@ -31,15 +31,9 @@ public class VideoScreenHandler : UdonSharpBehaviour private Renderer targetRenderer; private Texture lastRenderTexture; - private void Start() - { - targetRenderer = GetComponent(); - - OnEnable(); - } - private void OnEnable() { + targetRenderer = GetComponent(); SetSourceVideoPlayer(sourceVideoPlayer); } @@ -57,9 +51,6 @@ public Texture GetVideoTexture() public void UpdateVideoTexture(Texture renderTexture, bool isAVPro) { - if (renderTexture == lastRenderTexture) - return; - if (targetRenderer) { Material rendererMat;