From 0f9ec844b60631eeefdf48915343c0a17e7e3679 Mon Sep 17 00:00:00 2001 From: Haesu Gwon Date: Tue, 21 Nov 2023 17:06:14 +0900 Subject: [PATCH] [Multimedia] Fix to set window size properly (#5764) --- src/Tizen.Multimedia.Camera/Camera/Camera.Properties.cs | 2 +- src/Tizen.Multimedia.MediaPlayer/Player/Player.Properties.cs | 4 ++-- .../ScreenMirroring/ScreenMirroring.cs | 2 +- src/Tizen.Multimedia.Remoting/WebRTC/MediaSource.cs | 4 ++-- src/Tizen.Multimedia.Remoting/WebRTC/MediaStreamTrack.cs | 2 +- src/Tizen.Multimedia/Common/Display.cs | 11 ++++++----- 6 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/Tizen.Multimedia.Camera/Camera/Camera.Properties.cs b/src/Tizen.Multimedia.Camera/Camera/Camera.Properties.cs index 2b49769..3f62ac6 100644 --- a/src/Tizen.Multimedia.Camera/Camera/Camera.Properties.cs +++ b/src/Tizen.Multimedia.Camera/Camera/Camera.Properties.cs @@ -116,7 +116,7 @@ namespace Tizen.Multimedia return CameraDisplay.SetDisplay(GetHandle(), type, evasObject); } - CameraError IDisplayable.ApplyEcoreWindow(IntPtr windowHandle) + CameraError IDisplayable.ApplyEcoreWindow(IntPtr windowHandle, NUI.Rectangle rect) { Debug.Assert(_disposed == false); diff --git a/src/Tizen.Multimedia.MediaPlayer/Player/Player.Properties.cs b/src/Tizen.Multimedia.MediaPlayer/Player/Player.Properties.cs index 9decb5c..c2bac2f 100644 --- a/src/Tizen.Multimedia.MediaPlayer/Player/Player.Properties.cs +++ b/src/Tizen.Multimedia.MediaPlayer/Player/Player.Properties.cs @@ -373,12 +373,12 @@ namespace Tizen.Multimedia type == DisplayType.Overlay ? PlayerDisplayType.Overlay : PlayerDisplayType.Evas, evasObject); } - PlayerErrorCode IDisplayable.ApplyEcoreWindow(IntPtr windowHandle) + PlayerErrorCode IDisplayable.ApplyEcoreWindow(IntPtr windowHandle, NUI.Rectangle rect) { Debug.Assert(IsDisposed == false); return NativeDisplay.SetEcoreDisplay(Handle, - _uiSync ? PlayerDisplayType.OverlayUISync : PlayerDisplayType.Overlay, windowHandle); + _uiSync ? PlayerDisplayType.OverlayUISync : PlayerDisplayType.Overlay, windowHandle, rect.X, rect.Y, rect.Width, rect.Height); } #endregion diff --git a/src/Tizen.Multimedia.Remoting/ScreenMirroring/ScreenMirroring.cs b/src/Tizen.Multimedia.Remoting/ScreenMirroring/ScreenMirroring.cs index 900f7e5..a53cd3f 100644 --- a/src/Tizen.Multimedia.Remoting/ScreenMirroring/ScreenMirroring.cs +++ b/src/Tizen.Multimedia.Remoting/ScreenMirroring/ScreenMirroring.cs @@ -134,7 +134,7 @@ namespace Tizen.Multimedia.Remoting return Native.SetDisplay(Handle, (int)type, evasObject); } - ScreenMirroringErrorCode IDisplayable.ApplyEcoreWindow(IntPtr windowHandle) + ScreenMirroringErrorCode IDisplayable.ApplyEcoreWindow(IntPtr windowHandle, NUI.Rectangle rect) { return Native.SetEcoreDisplay(Handle, windowHandle); } diff --git a/src/Tizen.Multimedia.Remoting/WebRTC/MediaSource.cs b/src/Tizen.Multimedia.Remoting/WebRTC/MediaSource.cs index 7768f69..69bb95d 100755 --- a/src/Tizen.Multimedia.Remoting/WebRTC/MediaSource.cs +++ b/src/Tizen.Multimedia.Remoting/WebRTC/MediaSource.cs @@ -675,7 +675,7 @@ namespace Tizen.Multimedia.Remoting return trackId; } - uint IDisplayable.ApplyEcoreWindow(IntPtr windowHandle) + uint IDisplayable.ApplyEcoreWindow(IntPtr windowHandle, NUI.Rectangle rect) { NativeWebRTC.SetEcoreVideoLoopback(WebRtc.Handle, SourceId.Value, windowHandle, out uint trackId). ThrowIfFailed("Failed to set ecore video loopback"); @@ -683,4 +683,4 @@ namespace Tizen.Multimedia.Remoting return trackId; } } -} \ No newline at end of file +} diff --git a/src/Tizen.Multimedia.Remoting/WebRTC/MediaStreamTrack.cs b/src/Tizen.Multimedia.Remoting/WebRTC/MediaStreamTrack.cs index 1d154e9..2e5e3aa 100755 --- a/src/Tizen.Multimedia.Remoting/WebRTC/MediaStreamTrack.cs +++ b/src/Tizen.Multimedia.Remoting/WebRTC/MediaStreamTrack.cs @@ -126,7 +126,7 @@ namespace Tizen.Multimedia.Remoting type == DisplayType.Overlay ? WebRTCDisplayType.Overlay : WebRTCDisplayType.Evas, evasObject); } - WebRTCErrorCode IDisplayable.ApplyEcoreWindow(IntPtr windowHandle) + WebRTCErrorCode IDisplayable.ApplyEcoreWindow(IntPtr windowHandle, NUI.Rectangle rect) { return NativeWebRTC.SetEcoreDisplay(_webRtc.Handle, _trackId, windowHandle); } diff --git a/src/Tizen.Multimedia/Common/Display.cs b/src/Tizen.Multimedia/Common/Display.cs index 0f8357d..a5c81c8 100644 --- a/src/Tizen.Multimedia/Common/Display.cs +++ b/src/Tizen.Multimedia/Common/Display.cs @@ -39,7 +39,7 @@ namespace Tizen.Multimedia internal interface IDisplayable { TError ApplyEvasDisplay(DisplayType type, EvasObject evasObject); - TError ApplyEcoreWindow(IntPtr windowHandle); + TError ApplyEcoreWindow(IntPtr windowHandle, NUI.Rectangle rect); } internal interface IDisplaySetter @@ -72,15 +72,17 @@ namespace Tizen.Multimedia internal class EcoreDisplaySetter : IDisplaySetter { private readonly IntPtr _windowHandle; + private readonly NUI.Rectangle _rect; - internal EcoreDisplaySetter(IntPtr windowHandle) + internal EcoreDisplaySetter(IntPtr windowHandle, NUI.Rectangle rect) { _windowHandle = windowHandle; + _rect = rect; } public TError SetDisplay(IDisplayable target) { - return target.ApplyEcoreWindow(_windowHandle); + return target.ApplyEcoreWindow(_windowHandle, _rect); } } @@ -161,8 +163,7 @@ namespace Tizen.Multimedia { throw new ArgumentNullException(nameof(window)); } - - _setter = new EcoreDisplaySetter(window.GetNativeWindowHandler()); + _setter = new EcoreDisplaySetter(window.GetNativeWindowHandler(), window.WindowPositionSize); UiSync = uiSync; } -- 2.7.4