Simulate reading from a fifo

I’ve got a messy setup. If anybody can help then please …
A non gstreamer app writes a TS to a fifo
A gstreamer app reads the fido.
On unix a fifo write or read blocks until the other side writes or reads.

To try to debug my pipeline I collected the fifo input to a file.

dvr@dvr2263S:~$ cat qq.sh
#!/bin/sh
gst-launch-1.0 -vvv filesrc location=fifo ! queue ! tsdemux ! h264parse ! avdec_h264 !tee name=t ! queue ! xvimagesink name=sink sync=false

dvr@dvr2263S:~$ ./qq.sh
Setting pipeline to PAUSED …
Pipeline is PREROLLING …
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream
Pipeline is PREROLLED …
Setting pipeline to PLAYING …
Redistribute latency…
New clock: GstSystemClock
Got EOS from element “pipeline0”.
Execution ended after 0:00:00.000162157
Setting pipeline to NULL …
Freeing pipeline …

I assume the “fifo” is being read instantly, how would I limit rate of read ?

I am not an expert by any means, but try removing the sync=false, that will play buffers before the clock reaches the proper time.