Partialy connected pipelines
From Buzztard
GStreamer would stop with an error, if one pushes on or pull from an unconnected pad.
We can address this is several ways:
- set locked state on sources that have no link to master
- terminate all elements with fakesrc/fakesink
- only actually add elements to the pipeline for real once we connect them
See lots of comments in machine.c
| scenario | description |
|---|---|
| unconnected generator |
WARN basesrc gstbasesrc.c:2330:gst_base_src_loop:<simsyn 00_0x8446b98> error: Internal data flow error. WARN basesrc gstbasesrc.c:2330:gst_base_src_loop:<simsyn 00_0x8446b98> error: streaming task paused, reason not-linked (-1) WARN bt-edit main-toolbar.c:274:on_song_error: Internal data flow error. gst_base_src_loop (): /GstPipeline:song/GstBtSimSyn:simsyn |
| unconnected effect | no problem. Also multiple of those are fine |
| unconnected master | we don't start playback right now. |
| unconnected effect + master |
WARN adder gstadder.c:537:forward_event_func:<adder_0x8446a28:sink3> Sending event 0x866d400 (seek) failed. WARN bt-core song.c:469:on_song_state_changed: bin failed to handle seek event |



