From: Seunghun Lee Date: Tue, 4 Jun 2024 05:02:23 +0000 (+0900) Subject: tizen: Introduce wtz-video-shell protocol X-Git-Tag: accepted/tizen/unified/20240611.162655~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e6b77a0ba81fab99b1d056b8440d83abd8b290fe;p=platform%2Fcore%2Fuifw%2Fwayland-extension.git tizen: Introduce wtz-video-shell protocol The Video Shell is a tizen extension to the wayland protocol. It is designed to ensure synchronization between updates to the toplevel surface content and the viewport of a video surface traditionally rendered by an extenal process responsible for rendering video content. The protocol mainly introduces the wtz_video_exported_viewport and wtz_video_viewport_source. The wtz_video_exported_viewport is intended to be created within the application process and provides configuration options such as destination size and transformation settings. By extending wtz_video_exported_viewport from wl_subsurface, applications can leverage the synchronization capabilities of wl_subsurface to align updates between the main surface content and video output. The wtz_video_viewport_source, on the other hand, is meant to be created by the process handling video content creation. Its output will be adjusted (scaled up or down) based on the destination size and transformations specified through wtz_video_exported_viewport. This design approach is largely inspired by the wtz-foreign-shell protocol. Change-Id: Idedce06e923e376b147b44e6b1ec8409d71970b5 --- diff --git a/Makefile.am b/Makefile.am index 881e5e2..c7b0db4 100644 --- a/Makefile.am +++ b/Makefile.am @@ -527,6 +527,24 @@ liblinux_dmabuf_unstable_v1_client_la_SOURCES = protocol/unstable/linux-dmabuf-u liblinux_dmabuf_unstable_v1_client_la_CFLAGS = @WAYLAND_CLIENT_CFLAGS@ liblinux_dmabuf_unstable_v1_client_la_LIBADD = @WAYLAND_CLIENT_LIBS@ +### wtz_video_shell +protocol_LTLIBRARIES += \ + libwtz-video-shell-server.la \ + libwtz-video-shell-client.la +pkgconfig_DATA += \ + src/wtz-video-shell-server.pc \ + src/wtz-video-shell-client.pc +protocolinclude_HEADERS += \ + protocol/tizen/wtz-video-shell-server-protocol.h \ + protocol/tizen/wtz-video-shell-client-protocol.h +libwtz_video_shell_server_la_SOURCES = protocol/tizen/wtz-video-shell-protocol.c +libwtz_video_shell_server_la_CFLAGS = @WAYLAND_SERVER_CFLAGS@ +libwtz_video_shell_server_la_LIBADD = @WAYLAND_SERVER_LIBS@ +libwtz_video_shell_client_la_SOURCES = protocol/tizen/wtz-video-shell-protocol.c +libwtz_video_shell_client_la_CFLAGS = @WAYLAND_CLIENT_CFLAGS@ +libwtz_video_shell_client_la_LIBADD = @WAYLAND_CLIENT_LIBS@ + + ### wayland-protocols unstable_protocols = \ protocol/unstable/pointer-gestures/pointer-gestures-unstable-v1.xml \ @@ -583,6 +601,7 @@ tizen_protocols = \ protocol/tizen/wtz-shell.xml \ protocol/tizen/wtz-blender.xml \ protocol/tizen/wtz-blur.xml \ + protocol/tizen/wtz-video-shell.xml \ $(NULL) nobase_dist_pkgdata_DATA = \ diff --git a/protocol/tizen/wtz-video-shell.xml b/protocol/tizen/wtz-video-shell.xml new file mode 100644 index 0000000..3bf19ca --- /dev/null +++ b/protocol/tizen/wtz-video-shell.xml @@ -0,0 +1,156 @@ + + + + Copyright 2024 Samsung Electronics co., Ltd. All Rights Reserved. + + Permission to use, copy, modify, distribute, and sell this + software and its documentation for any purpose is hereby granted + without fee, provided that the above copyright notice appear in + all copies and that both that copyright notice and this permission + notice appear in supporting documentation, and that the name of + the copyright holders not be used in advertising or publicity + pertaining to distribution of the software without specific, + written prior permission. The copyright holders make no + representations about the suitability of this software for any + purpose. It is provided "as is" without express or implied + warranty. + + THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS + SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY + SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF + THIS SOFTWARE. + + + + TODO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +