wiki:GStreamer/GStreamerOnMac

Version 3 (modified by Philippe Normand, 10 years ago) (diff)

--

WARNING: This experiment dates back from 2010, since then the project moved to WebKit2 and most of the work required to have GStreamer running on the Mac port would need to be done again.


Build GStreamer and WebKit on Mac OS

This page describes how to enable GStreamer support on the mac port of WebKit. It is still experimental and requires patches in WebKit. The patches are currently in a git branch

Requirements

Git and JHBuild:

git clone git://git.gnome.org/jhbuild
make -f Makefile.plain install
PATH=$PATH:~/.local/bin

GStreamer build

My JHBuild moduleset only supports git version of GStreamer at the moment.

git clone git://github.com/philn/jhbuild.git ~/gst-build
cd ~/gst-build
git checkout --track -b mac origin/mac
jhbuild -f jhbuildrc bootstrap --ignore-system
jhbuild -f jhbuildrc build

You might see a build failure for guile. Just skip that module, it is not needed for the WebKit or GStreamer build.

WebKit repo setup

It's possible to clone directly from git.igalia.com but it will be slower, there's more bandwidth at git.webkit.org :)

cd ~/gst-build/build
git clone git://git.webkit.org/WebKit.git
cd WebKit
git remote add igalia http://git.igalia.com/webkit.git
git fetch igalia
git checkout --track -b gst-mac igalia/gst-mac
mkdir Frameworks

GStreamer.framework build

The GStreamer.framework includes GLib as well. I first tried to bundle it separately but without much success. It would be nice to make that happen though (I think).

cd
git clone git://github.com/philn/gtk-osx.git
cd ~/gtk-osx
git checkout --track -b gst origin/gst

cd ~/gtk-osx/framework
./create-GStreamer-framework.sh ~/gst-build/install/ ~/gst-build/build/WebKit/Frameworks

WebKit build

This can probably be done with the XCode UI:

  1. Set the GLIB_ENABLED build setting of JavaScriptCore/Configurations/Optional.xcconfig to YES
  2. Set the GSTREAMER_ENABLED build setting to YES in the following files:
    • WebCore/Configurations/Optional.xcconfig
    • Webkit/mac/Configurations/Optional.xcconfig
  3. Then build the thing and run Safari:
    cd ~/gst-build/build/WebKit
    Tools/Scripts/build-webkit
    Tools/Scripts/run-safari