<div dir="ltr"><div><div><div><div><div><div><div>Hi<br><br></div>Is it a bug or a feature, that tcpclientsrc seems to fail to detect EOF/EOS and terminate a pipeline if its pipeline is PREROLLED and not yet PLAYING?<br><br>
</div>You can verified it by executing the following two pipeline in the listed order and then terminate the first pipeline.<br><br>Sender Pipeline:<br>gst-launch -v videotestsrc is-live=true ! x264enc ! queue ! mux. audiotestsrc is-live=true ! faac ! mpegtsmux name=mux ! queue ! tcpserversink port=5010<br>
<br>Receiver Pipeline<br>gst-launch-1.0 -v tcpclientsrc port=5010 ! tsdemux name=demux ! 'audio/mpeg' ! fakesink demux. ! 'video/x-h264' ! fakesink<br><br></div>Start sender, then receiver and see that receiver only prerolls and does not enter state playing (the pipeline needs queues). Then terminate the sender and see that the receiver stays prerolled.<br>
<br></div>The behaviour makes it difficult to construct a pipeline with tcpclientsrc without the risk of a race condition for the system.<br><br></div>Shouldn't tcpclientsrc detect the sender has disconnected and subsequently shutdown the pipeline?<br>
<br></div>Best regards<br></div>Peter Maersk-Moller<br></div>