Problem using shmsink/shmsrc with tee

jcbrock jcbrockschmidt at
Sat Jun 27 08:03:36 UTC 2020

For a little context, I am trying to create a pipeline that streams a video
source to an RTSP server while writing it to file. I can get these
components to work independently. But combining them with a tee causes

For simplicity, we'll replace the RTSP server with a simple ximagesink, as
provided in  this example
. The following couple of pipelines work fine together:

Likewise, this pipeline that writes to disk works fine:

However, the following combinations does not work:

The filesink branch works fine, producing a working file. Yet, the shm
branch fails. While it does create the shm socket file, the client hangs
with the following log:

and after I interrupt it...

Evidently, the shmsrc isn't receiving any frames. However, the log for the
master pipeline reveals the shmsrc was at least somewhat connected:

Interestingly, if we put the shmsink branch before the shmsrc branch, the
filesink fails to produce a video file (specifically, a file is created but
maintains a size of 0 bytes). I have tried different combinations of true
and false values for the sync and wait-for-connection parameters, but to no

The posts  RE: Still stuck
and  Problem with using shmsink/shmsrc
were the most relevant posts I could find. I've read through them, but it's
possible there's a related fix I missed.

I am using GStreamer 1.14.5 on Ubuntu 18.04.

Any help is appreciated! I am not opposed to exploring alternatives to
shmsink/shmsrc, but any solution must have two pipelines to work with the
RTSP server later on.

Sent from:

More information about the gstreamer-devel mailing list