Webrtcsink will not connect to signalling server

I’d like to first provide some context as to how I am running all this.
I am running it on SteamOS which is based on Arch Linux but stripped down (eg filesystem is read-only). gst-plugins-rs is built on holo-docker which is an image based on SteamOS but capable of building stuff. I build webrtc and then copy libgstrswebrtc.so over. The rest of the gst plugins (gst-plugins-good, gst-plugins-bad) are fetched from pacman and then the /usr/lib folder is copied over. Before gst-launch-1.0 I set two environment variables GST_PLUGIN_PATH and LD_LIBRARY_PATH to the gstreamer-1.0 path and the lib path respectively.

Now to my problem, running the sample command from the usage screen, webrtcsink will not connect to the signalling server, even running with debug there is no error message that is related to signalling. It will start playing as normally but will not do much else. On the contrary running the same command on normal Arch throws an error and kills the pipeline if it cannot connect to the signalling server.

Any help is appreciated!

Ok so it connected with the signaller by itself, without me changing anything, as weird as that sounds. However upon receiving a session start event it did not fire an sdp event so an rtc connection could not be established.

Also now it has failed to connect again and I see this long message in the logs:

0:00:00.228603708  4538 0x7f402c071ec0 WARN              webrtcsink net/webrtc/src/webrtcsink/imp.rs:3085:gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::run_discovery_pipeline::{{closure}}: Error in discovery pipeline: Error {
    structure: Some(
        GstMessageError {
            gerror: (GError) ((GError*) 0x7f402c23bca0),
            debug: (gchararray) "../gstreamer/subprojects/gstreamer/libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline3/GstAppSrc:appsrc2:\nstreaming stopped, reason not-negotiated (-4)",
            details: Structure(
                details {
                    flow-return: (gint) -4,
                },
            ),
        },
    ),
    source: Some(
        (
            Object {
                inner: TypedObjectRef {
                    inner: 0x00007f402c078c20,
                    type: GstAppSrc,
                },
            },
            "appsrc2",
        ),
    ),
    error: Error {
        domain: gst-stream-error-quark,
        code: 1,
        message: "Internal data stream error.",
    },
    debug: Some(
        "../gstreamer/subprojects/gstreamer/libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline3/GstAppSrc:appsrc2:\nstreaming stopped, reason not-negotiated (-4)",
    ),
    details: Some(
        details {
            flow-return: (gint) -4,
        },
    ),
}

Setting video-caps="video/x-vp8" appears to fix this