mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-14 05:06:16 -08:00
fix(embedded-mpv): enable private Snap shared memory
This commit is contained in:
1 parent
cc18cae320
commit
08e92d4f27
5 files changed
+120
-11
No files matched your search
@@ -241,10 +241,22 @@ has succeeded. On Linux x64 that decision validates the profile manifest,
|
||||
regular-file/access modes, the complete declared bundled closure and hashes,
|
||||
then runs `iptvnator_mpv_helper --runtime-probe` with a three-second timeout.
|
||||
The probe loads dependencies through the normal ELF loader, initializes an
|
||||
idle libmpv client, and creates EGL/OpenGL plus mpv render contexts without
|
||||
opening media or shared memory. It must emit exactly one protocol-v1 JSON line
|
||||
and return zero. Bundled profiles prepend only their packaged `native/lib` to
|
||||
`LD_LIBRARY_PATH`; the system profile never injects a private loader path.
|
||||
idle libmpv client, creates EGL/OpenGL plus mpv render contexts, then
|
||||
creates, maps, validates, and destroys a minimal `16x16` shared-memory ring
|
||||
named `/impv-fc-runtime-probe-<pid>`. It never opens media or enters the media
|
||||
or command loops. Shared-memory creation/mapping and header-initialization
|
||||
failures emit the stable helper reasons `shared-memory-create-failed` and
|
||||
`shared-memory-initialize-failed`. The probe must emit exactly one protocol-v1
|
||||
JSON line and return zero. Bundled profiles prepend only their packaged
|
||||
`native/lib` to `LD_LIBRARY_PATH`; the system profile never injects a private
|
||||
loader path.
|
||||
|
||||
The strict Snap keeps Electron Builder's default plugs and adds an
|
||||
auto-connected private `shared-memory` plug. Private shared memory gives the
|
||||
app a confined, snap-specific POSIX shm namespace rather than global
|
||||
cross-snap access. Consequently the installed-Snap `--runtime-probe` validates
|
||||
the actual confinement and shm lifecycle required by frame-copy, not only the
|
||||
loader and graphics contexts.
|
||||
Packaged discovery is limited to packaged resource locations and never falls
|
||||
through to writable cwd/dist development paths. A disabled base experiment or
|
||||
any failed capability check keeps the renderer sandbox enabled and falls back
|
||||
|
||||
Reference in new issue
Block a user