Problem using shmsink/shmsrc with tee

jcbrock jcbrockschmidt at gmail.com
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
issues.

For simplicity, we'll replace the RTSP server with a simple ximagesink, as
provided in  this example
<https://stackoverflow.com/questions/40260580/gstreamer-shmsrc-and-shmsink-with-h264-data> 
. 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
avail.

The posts  RE: Still stuck
<http://gstreamer-devel.966125.n4.nabble.com/Still-stuck-td4658949i20.html>  
and  Problem with using shmsink/shmsrc
<http://gstreamer-devel.966125.n4.nabble.com/Problem-with-using-shmsink-shmsrc-td4659936.html>  
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: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list