Skip to content

Instantly share code, notes, and snippets.

@apla
Last active May 9, 2023 15:00
Show Gist options
  • Star 11 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save apla/f7ca2aeda6f15b41f60d2d1f29be1de0 to your computer and use it in GitHub Desktop.
Save apla/f7ca2aeda6f15b41f60d2d1f29be1de0 to your computer and use it in GitHub Desktop.
Build CEF# from source with mp4
@echo off
REM instructions from: https://groups.google.com/d/msg/cefsharp/BJLMXl9c204/HMJlp8mZzF0J
REM seems like partial instructions copied to SO: http://stackoverflow.com/questions/8033495/chromium-embedded-framework-mp3-support
REM all chromium releases: https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding.md#markdown-header-release-branches
REM 2272 - latest chromium with npapi (41)
REM there is a commits list: https://bitbucket.org/chromiumembedded/cef/branch/2272
REM https://github.com/cefsharp/CefSharp
REM cef builds http://www.magpcss.net/cef_downloads/
REM https://cefbuilds.com
REM chromium 39 2171 395cdea
REM chromium 41 2272 bda8dc7 // bc845db is wrong for 41.0.1
REM chromium 47 2526 b660893
REM chromium 48 2556 535c4fb
REM chromium 49 2623 af139d7
REM seems like NPAPI support is removed only in chromium 49, 47 is fine:
REM issue: https://crbug.com/493212
REM NPAPI death commit: https://crrev.com/15bd8a880b4999e376a2cecf53fcea2e7e1838d7
REM but it is not included into CEF 47: https://chromium.googlesource.com/chromium/src/+/47.0.2526.80/content/child/npapi/plugin_host.cc
REM 47.0.2526.80
REM last nail: https://crrev.com/5e38cc0507da608e31a488d40a9293cb4a2428c6
REM but since chromium 45 NPAPI supported only with --enable-npapi-for-testing cli flag
set CHROMIUM_SHA=b660893
set CHROMIUM_TAG=2526
set GYP_GENERATORS=ninja,msvs-ninja
set GYP_MSVS_VERSION=2013
REM set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_DEFINES=proprietary_codecs=1 ffmpeg_branding=Chrome
REM --force-clean --force-clean-deps
python automate-git.py --depot-tools-dir=c:\opt\depot_tools --download-dir=%CHROMIUM_TAG% --checkout=%CHROMIUM_SHA% %*
REM 2272\chromium\src> ninja -C out\Debug -t clean cefclient
move %CHROMIUM_TAG%\chromium\src\cef\binary_distrib\*.zip .
@echo off
REM instructions from: https://groups.google.com/d/msg/cefsharp/BJLMXl9c204/HMJlp8mZzF0J
REM seems like partial instructions copied to SO: http://stackoverflow.com/questions/8033495/chromium-embedded-framework-mp3-support
REM 2272 - latest chromium with npapi (41)
REM seems like last cef-binary is https://github.com/cefsharp/cef-binary/commit/8a2061bcc1746d6cbecba379e1cc46ea6b5a2ddf (https://github.com/cefsharp/cef-binary/commits/master)
git clone https://github.com/cefsharp/cef-binary
cd cef-binary
REM version 2272
git checkout 8a2061b
copy cef_binary_3.2272.2077_windows32.zip cef-binary/cef_binary_3.y.z_windows32.zip
copy cef_binary_3.2272.2077_windows64.zip cef-binary/cef_binary_3.y.z_windows64.zip
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment