GNOME Bugzilla – Bug 742617
Permit missing codec installation when GST_REGISTRY_UPDATE=no
Last modified: 2018-11-03 12:24:50 UTC
It would be nice for gstreamer to detect the presence of new plugins even when running with GST_REGISTRY_UPDATE=no, which we're going to need to use to sandbox the web process in WebKitGTK+. Otherwise, I think we'll need to restart our web processes when a plugin is installed. slomo: restarting the web process can be prevented with some changes in gstreamer though slomo: gstreamer/gst/gstregistry.c, gst_update_registry() -> ensure_current_registry() is the interesting part slomo: basically you need a way to set _gst_disable_registry_cache to FALSE again slomo: assuming that code can actually be called twice, otherwise that needs to be fixed too slomo: maybe it should actually be always called again
This is the code in question: http://cgit.freedesktop.org/gstreamer/gstreamer/tree/gst/gstregistry.c#n1721 I think it would make sense to always re-read the binary registry there instead of only doing it for the very first time. Another process might've updated it already, which is exactly the case for WebKit. The other part you'll need in WebKit is this: http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst-libs/gst/pbutils/install-plugins.c#n491 Maybe. You would need to do the missing-plugin installation from the UI process, get the installer details from the Web process and then pass the result back to the Web process. Could also be done by just passing the GstMessage to the UI process and running the GStreamer API there, alternatively you could just create a string for the commandline in the Web process and just run that in the UI process (seems risky though).
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/87.