Hi!
I’m having strange issue with pipeline ending with fakesink.
The pipeline looks like this (after removing capsfilters):
decklinkteletextsrc ! tee name=t1 ! teletextdec ! appsink
t1 ! fakesink
Usually (*) the pipeline starts “successfully” but fakesink does not actually starts, tee t1 blocks on pushing buffer to fakesink and the whole chains locks. When i start to dispose the pipeline fakesink actually “starts” and unlocks tee.
I’ve tested various flags for fakesink (including sync=false) but to no success.
Solved the locking issue by adding queue with leaky=downstream before fakesink. it looks like fakesink needs to receive couple buffers until it is able to start.
deckinkteletextsrc - is an element I’ve added to decklink plugin. Nothing special about it. Just reads teletext packets from SDI channel and sends into separate GStreamer channel.
I think I’ve seen few times that the pipeline actually started and worked. But I’m not sure.
At the same time, basically the same pipeline:
decklinkteletextsrc ! tee name=t0 ! proxysink → proxysrc ! tee name=T1 ! teletextdec ! appsink
T1 ! proxysink →proxysrc ! fakesink
Never has such an issue. it starts, it processes teletext packets.
Now I’m in need of some understanding what happens here.