Fallbackswitch - how to properly use it? gst-plugins-rs

Hi! I have tried various ways to get fallbacksrc/switch to work without success.

let switch = gst::ElementFactory::make("fallbackswitch").build().unwrap();
let fallbacksrc = gst::ElementFactory::make("fallbacksrc").build().unwrap();
fallbacksrc.set_property("uri", &"file:////Users/...../...///examples/src/bin/icon.png");


0:00:05.031120490 15256 0x7fccf1b63040 DEBUG       GST_ELEMENT_PADS gstutils.c:946:gst_element_get_compatible_pad_template: Looking for a suitable pad template in fallbacksrc0 out of 2 templates...
0:00:05.031125622 15256 0x7fccf1b63040 DEBUG       GST_ELEMENT_PADS gstutils.c:987:gst_element_get_compatible_pad_template: No compatible pad template found
0:00:05.031133962 15256 0x7fccf1b63040 INFO        GST_ELEMENT_PADS gstutils.c:1272:gst_element_get_compatible_pad:<fallbacksrc0> Could not find a compatible pad to link to bin1:src
0:00:05.031139073 15256 0x7fccf1b63040 DEBUG       GST_ELEMENT_PADS gstutils.c:2046:gst_element_link_pads_full: we might have request pads on both sides, checking...
0:00:05.031144827 15256 0x7fccf1b63040 DEBUG       GST_ELEMENT_PADS gstutils.c:2100:gst_element_link_pads_full: no link possible from bin1 to fallbacksrc0
thread '<unnamed>' panicked at examples/src/bin/rtsp-server-2.rs:215:44:
called `Result::unwrap()` on an `Err` value: BoolError { message: "Failed to link elements 'bin1' and 'fallbacksrc0'", filename: "gstreamer/src/element.rs", function: "gstreamer::element::ElementExtManual::link", line: 666 }

source roughly like this:
videotestsrc is-live true ! caps ! x264enc ! h264parse ! rtph264pay
then put into bin with ghostpad


Seems like switch comes with the source. But still have issues implementing it.
After reading the available information the fallback only seem to images. But for stream is RTP packets fine?

There might be something wrong with the way I use ghostpad. But just in general some usuage advice on the fallbacksrc would be of great help!