RESOLVED FIXED 225144
External hole punch player not working on WPE Webkit
https://bugs.webkit.org/show_bug.cgi?id=225144
Summary External hole punch player not working on WPE Webkit
Jean Dupond
Reported 2021-04-28 02:00:18 PDT
Hello,
Attachments
Jean Dupond
Comment 1 2021-04-28 02:05:54 PDT
Hello, I compiled WPE port of Webkit on PC/Linux Ubuntu 20.04 with Wayland: Tools/gtk/install-dependencies Tools/Scripts/update-webkitgtk-libs Tools/Scripts/build-webkit --gtk --debug I activated the external hole punch player: diff --git a/Source/WebCore/platform/graphics/holepunch/MediaPlayerPrivateHolePunch.h b/Source/WebCore/platform/graphics/holepunch/MediaPlayerPrivateHolePunch.h index 3b34bfa92abb..595e2a386c60 100644 --- a/Source/WebCore/platform/graphics/holepunch/MediaPlayerPrivateHolePunch.h +++ b/Source/WebCore/platform/graphics/holepunch/MediaPlayerPrivateHolePunch.h @@ -53,7 +53,7 @@ public: void load(const String&) final { }; #if ENABLE(MEDIA_SOURCE) - void load(const String&, MediaSourcePrivateClient*) final { }; + void load(const URL&, const ContentType&, MediaSourcePrivateClient*) final { }; #endif #if ENABLE(MEDIA_STREAM) void load(MediaStreamPrivate&) final { }; diff --git a/Source/cmake/OptionsWPE.cmake b/Source/cmake/OptionsWPE.cmake index d8c2c251f3ea..9ca42847ca36 100644 --- a/Source/cmake/OptionsWPE.cmake +++ b/Source/cmake/OptionsWPE.cmake @@ -80,7 +80,7 @@ WEBKIT_OPTION_DEFINE(USE_LCMS "Whether to enable support for image color managem # Private options specific to the WPE port. WEBKIT_OPTION_DEFINE(USE_GSTREAMER_HOLEPUNCH "Whether to enable GStreamer holepunch" PRIVATE OFF) -WEBKIT_OPTION_DEFINE(USE_EXTERNAL_HOLEPUNCH "Whether to enable external holepunch" PRIVATE OFF) +WEBKIT_OPTION_DEFINE(USE_EXTERNAL_HOLEPUNCH "Whether to enable external holepunch" PRIVATE ON) if (CMAKE_SYSTEM_NAME MATCHES "Linux") WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEMORY_SAMPLER PRIVATE ON) I recompiled. I created a page with HTML5 video player with type="video/holepunch", but the created video player is a black opaque rectangle and not a transparent one. Best regards, Riadh
Miguel Gomez
Comment 2 2021-04-28 02:28:33 PDT
> Tools/gtk/install-dependencies > Tools/Scripts/update-webkitgtk-libs > Tools/Scripts/build-webkit --gtk --debug You are building the gtk port > diff --git a/Source/cmake/OptionsWPE.cmake b/Source/cmake/OptionsWPE.cmake > index d8c2c251f3ea..9ca42847ca36 100644 > --- a/Source/cmake/OptionsWPE.cmake > +++ b/Source/cmake/OptionsWPE.cmake > @@ -80,7 +80,7 @@ WEBKIT_OPTION_DEFINE(USE_LCMS "Whether to enable support > for image color managem > > # Private options specific to the WPE port. > WEBKIT_OPTION_DEFINE(USE_GSTREAMER_HOLEPUNCH "Whether to enable GStreamer > holepunch" PRIVATE OFF) > -WEBKIT_OPTION_DEFINE(USE_EXTERNAL_HOLEPUNCH "Whether to enable external > holepunch" PRIVATE OFF) > +WEBKIT_OPTION_DEFINE(USE_EXTERNAL_HOLEPUNCH "Whether to enable external > holepunch" PRIVATE ON) > But you enabled the holepunch option for the wpe port, so you're not really using it, and what you're getting is a video player with a content that can't be played.
Jean Dupond
Comment 3 2021-04-28 02:57:26 PDT
Hi Miguel, Sorry I copied the wrong command when I filled this bug report. Actually I used the wpe port: Tools/Scripts/build-webkit --wpe --debug Best regards.
Jean Dupond
Comment 4 2021-04-28 02:58:51 PDT
I mean I used all these commands for WPE port: Tools/wpe/install-dependencies Tools/Scripts/update-webkitwpe-libs Tools/Scripts/build-webkit --wpe --debug Best regards.
Miguel Gomez
Comment 5 2021-04-28 04:02:58 PDT
I've just given it a test and it works perfectly for me. My bet is that you're not properly specifying the type to the video element. It needs to be done using a <source> tag. For example: <video autoplay loop> <source src="720.mp4" type="video/holepunch"> Your browser does not support the video tag. </video> I have a page I use for testing that creates a video element of 640x480 at the top left corner of the window. You can try it here: https://people.igalia.com/magomez/video/index-holepunch.html
Miguel Gomez
Comment 6 2021-04-28 05:27:02 PDT
BTW I've just fixed the build error with external holepunch enabled, so just update and you won't need to fix it manually.
Jean Dupond
Comment 7 2021-04-28 07:30:09 PDT
Hi Miguel, How do you launch Webkit on Linux Wayland? I use this command: Tools/Scripts/run-minibrowser --wpe https://people.igalia.com/magomez/video/index-holepunch.html But I am seeing just a single white rectangle with all your page. May be I missed some argument? Best regards.
Jean Dupond
Comment 8 2021-04-28 07:39:06 PDT
I also have an alert when I launch mini browser: Cog not found 😢. If you wish to enable it, rebuild with `-DENABLE_COG=ON`. Falling back to good old MiniBrowser What is Cog? Do I need to enable it? Best regards.
Jean Dupond
Comment 9 2021-04-28 07:56:37 PDT
Hi Miguel, I found the solution. Since by build is a debug build, I should add --debug: Tools/Scripts/run-minibrowser --wpe --debug https://people.igalia.com/magomez/video/index-holepunch.html Thank you for the build fix that you committed. Best regards
Note You need to log in before you can comment on or make changes to this bug.