Issue: Building snap with WebRTC

Dear all,

Would rely on your assistance.

I’m trying to create a snap (via snapcraft), but its execution is failed because of

# Fatal error in: ../../media/engine/adm_helpers.cc, line 39
# last system error: 88
# Check failed: 0 == adm->Init() (0 vs. -1)
# Failed to initialize the ADM.

As I’ve understood from https://groups.google.com/g/discuss-webrtc/c/C3o0-NWqdn4, it’s relevant to the usage of WebRTC.

May you help to inject the dependency into the snapcraft.yaml configuration file (haven’t found anything relevant on https://snapcraft.io/docs/supported-interfaces):

name: fingrom
base: core22

grade: stable
confinement: strict

apps:
  fingrom:
    command: fingrom
    plugs: [home, desktop, desktop-legacy, network, network-bind, opengl, x11]
    extensions: [gnome]

parts:
  app-finance:
    source: .
    plugin: flutter
    build-packages: [libgtk-3-dev, ninja-build]
    stage-packages: [libgtk-3-0]
    flutter-target: lib/main.dart

Thanks in advance!

P.S. It’s a Flutter project. In a classic mode (without restrictions) everything works

P.S(2). With snap install fingrom --devmode the error is not in place

You want the audi-playback plug I guess… and perhaps you also need to add libpulseaudio to your stage-packages along with adding the location dir of the lib to LD_LIBRARY_PATH…

Do appreciate your reply, not sure how audi-playback will resolve a capability of P2P connection… but can you provide more details regarding LD_LIBRARY_PATH? Thanks in advance

WebRTC is video and audio streaming over http, the issue you linked points to the app not working due to not having access to audio-playback (and perhaps also recording, this is not clear) …

To get access to audio-playback you need to use the respective snap interface that gives you access to the pulseaudio socket on the host… to use that socket you need the pulseaudio library inside your snap… since that library does not live in a standard library search path, you need to add the non-standard dir to your LD_LIBRARY_PATH…

See the fist post in the thread below for what you need to add to your snapcraft.yaml (but use the audio-playback plug instead of “pulseaudio” since this interface is deprecated)

Indeed, that has resolved the issue. Greatly appreciate your help!

1 Like