[opensource-dev] Linux x64 - libmedia_plugin_cef.so error

Henri Beauchamp sldev at free.fr
Thu Mar 22 09:00:51 PDT 2018


On Fri, 23 Mar 2018 01:48:08 +1000, Alex wrote:

> It does indeed sound like the viewer is subsequently spawning another 
> SLPlugin instead of dullahan_host, you are right. I have no idea why the 
> viewer would be doing that. From what I am aware, the viewer _should_ 
> start one instance of SLPlugin and dullahan_host when its at the login 
> screen.
> 
> Do you have a rough idea (assuming the standard LL viewer behavior) 
> where these processes get launched from on startup (which part of the 
> viewer code)?

In fact, the viewer (and SLPlugin) code itself got no knowlegde of
dullahan_host: the latter is launched (and gets passed arguments) by
CEF, from a setting given in dullahan_impl.cpp, in dullahan_impl::init()

My guess is that your plugin lacks a #elif defined(__linux__) and the
corresponding CefString(&settings.browser_subprocess_path) there.
Here is what I put in mine:

bool dullahan_impl::init(dullahan::dullahan_settings& user_settings)
{
    DLNOUT("dullahan_impl::init()");

#ifdef WIN32
    CefMainArgs args(GetModuleHandle(nullptr));
#else
    CefMainArgs args(0, nullptr);
#endif

    CefSettings settings;

    // point to host application
#ifdef WIN32
    CefString(&settings.browser_subprocess_path) = "dullahan_host.exe";
#elif __APPLE__
    NSString* appBundlePath = [[NSBundle mainBundle] bundlePath];
    CefString(&settings.browser_subprocess_path) =
        [[NSString stringWithFormat:
          @"%@/Contents/Frameworks/DullahanHelper.app/Contents/MacOS/DullahanHelper", appBundlePath] UTF8String];
#elif defined(__linux__)
    CefString(&settings.browser_subprocess_path) = "dullahan_host";
#endif

    // Do not bother with the stupid sandbox which keeps failing under Windows
    // and which must be set UID root under Linux...
    settings.no_sandbox = true;

.../...


Henri.


More information about the opensource-dev mailing list