Igalia / meta-webkit

Yocto / OpenEmbedded layer for WebKit based engines and browsers
MIT License
125 stars 69 forks source link

Add ENABLE_MEDIA_STREAM #326

Closed miltechniks closed 2 years ago

miltechniks commented 2 years ago

Hello,

I'm trying to use the WPEWebKit Browser on an "imx8m mini evk". Thanks for your great work, I got it really fast to run and can browse on my eval-board.

Now I tried to access a webpage which is using "audioContext.createMediaStreamDestination" and that's currently not working. I get the error "audioContext.createMediaStreamDestination is not a function". So I tried it as well on a local Debian VM with building the WebKit GTK from source and solved it with adding the -DENABLE_MEDIA_STREAM=ON Parameter to the configure command. I found this parameter in the source code for the WebKit and it enables the "audioContext.createMediaStreamDestination".

Next step was adding this parameter to my yocto configuration. So in the file wpewebkit_2.34.1.bb I added the -DENABLE_MEDIA_STREAM=ON to the EXTRA_OECMAKE and tried to build the image again. Now there is an error during "do_configure":

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
  Please set them or make sure they are set and tested correctly in the CMake files:
  GSTREAMER_CODECPARSERS_LIBRARIES (ADVANCED)
When I have a look a bit earlier in the error log I found:
| -- Checking for module 'gstreamer-codecparsers-1.0 >= 1.14.0'
| --   No package 'gstreamer-codecparsers-1.0' found

So I think the issue is now that the build doesn't find the gstreamer-codecparser, which should be in the packet gstreamer1.0-plugins-bad. I added the gstreamer1.0-plugins-bad as dependendy as well, but without success. Now I don't know how to solve this issue. I already tried a lot of different stuff to get it to run but without success.

Any help is appreciated.

psaavedra commented 2 years ago

Could you try with the changes proposed in this PR (https://github.com/Igalia/meta-webkit/pull/327) plus adding this setting in your local.conf?:

PACKAGECONFIG:append:pn-wpewebkit = " mediastream"
psaavedra commented 2 years ago

here that build works in the following scenario:

Build Configuration:
BB_VERSION           = "1.52.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "arm-poky-linux-gnueabi"
MACHINE              = "qemuarm"
DISTRO               = "browsers"
DISTRO_VERSION       = "1.0"
TUNE_FEATURES        = "arm vfp cortexa15 neon thumb callconvention-hard"
TARGET_FPU           = "hard"
meta                 
meta-poky            = "honister:0b500dba7ad1eb222b1703795967da7f88aeeb50"
meta-oe              
meta-multimedia      
meta-perl            
meta-python          
meta-networking      
meta-filesystems     
...
meta-webkit          = "psaavedra/update_wpewebkik_flags:c198b3d5c23e6c1cc47cba1de92837de856b5f6b"
miltechniks commented 2 years ago

Thanks for your help. Yeah, I can compile it now, but I still have the Issue that the WebKit isn't running as expected, but this is hopefully an Issue somewhere else which I have to investigate further.