MMFMWK-7954 waylandsink: fix alpha blend cannot work

1. don't set area_surface to opaque
2. reset alpha when exit

upstreamer status: imx specific
diff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c
index 86dd779..d291bf2 100644
--- a/ext/wayland/gstwaylandsink.c
+++ b/ext/wayland/gstwaylandsink.c
@@ -393,6 +393,11 @@
       break;
     case GST_STATE_CHANGE_PAUSED_TO_READY:
       gst_buffer_replace (&sink->last_buffer, NULL);
+      gst_wl_window_set_alpha(sink->window, 1.0);
+      wl_surface_damage (sink->window->area_surface, 0, 0,
+            sink->window->render_rectangle.w, sink->window->render_rectangle.h);
+      wl_surface_commit (sink->window->area_surface);
+      wl_display_roundtrip (sink->display->display);
       gst_wayland_sink_config_hdr10 (sink, NULL);
       if (sink->window) {
         if (gst_wl_window_is_toplevel (sink->window)) {
diff --git a/ext/wayland/wlwindow.c b/ext/wayland/wlwindow.c
index e91c04a..c42c330 100644
--- a/ext/wayland/wlwindow.c
+++ b/ext/wayland/wlwindow.c
@@ -29,6 +29,8 @@
 #include "wlbuffer.h"
 #include "wlutils.h"
 
+#include "gstimxcommon.h"
+
 GST_DEBUG_CATEGORY_EXTERN (gstwayland_debug);
 #define GST_CAT_DEFAULT gstwayland_debug
 
@@ -308,14 +310,11 @@
 {
   struct wl_region *region;
 
-  /* Set area opaque */
-  region = wl_compositor_create_region (window->display->compositor);
-  wl_region_add (region, 0, 0, window->render_rectangle.w,
-      window->render_rectangle.h);
-  wl_surface_set_opaque_region (window->area_surface, region);
-  wl_region_destroy (region);
-
   if (!GST_VIDEO_INFO_HAS_ALPHA (info)) {
+    /* for platform support overlay, video should not overlap graphic*/
+    if (HAS_DCSS() || HAS_DPU())
+      return;
+
     /* Set video opaque */
     region = wl_compositor_create_region (window->display->compositor);
     wl_region_add (region, 0, 0, window->render_rectangle.w,
@@ -469,6 +468,9 @@
 {
   if (window->blend_func) {
     zwp_blending_v1_set_alpha(window->blend_func, wl_fixed_from_double(alpha));
-    zwp_blending_v1_set_blending(window->blend_func, ZWP_BLENDING_V1_BLENDING_EQUATION_FROMSOURCE);
+    if(alpha < 1.0)
+      zwp_blending_v1_set_blending(window->blend_func, ZWP_BLENDING_V1_BLENDING_EQUATION_FROMSOURCE);
+    else
+      zwp_blending_v1_set_blending(window->blend_func, ZWP_BLENDING_V1_BLENDING_EQUATION_PREMULTIPLIED);
   }
 }