How to restart a pipeline after network connection loss?

Daniel Rossi electroteque at gmail.com
Thu Aug 22 11:54:40 UTC 2019


After a bit of thought, trialing bus read with gstd. I am going to have 
a look at python bindings and reading the bus messages, but it might 
have to sit there in a loop after starting the pipeline waiting for EOS. 
With SRT it will produce an EOS message. Which can be used to restart 
the pipeline. Polling with a ping test could also be used I suppose. 
Maybe on an EOS message.

------ Original Message ------
From: virtually_me at claub.net
To: "Discussion of the development of and with GStreamer" 
<gstreamer-devel at lists.freedesktop.org>
Sent: 8/22/2019 9:50:38 PM
Subject: RE: How to restart a pipeline after network connection loss?

>I have an application where the IP for an RTP source can be down or go down. I am also using the command line (testing) version of gstreamer. I wrote a small script to ping the IP address every few seconds. If the ping reaches the machine the return code is zero and I start up the pipeline if it not already running. Otherwise I kill gst-launch-1.0. When the IP is up again I re-launch the pipeline.
>
>-----Original Message-----
>From: gstreamer-devel <gstreamer-devel-bounces at lists.freedesktop.org> On Behalf Of Jorne De Smedt | IndigoCare
>Sent: Thursday, August 22, 2019 6:07 AM
>To: Discussion of the development of and with GStreamer <gstreamer-devel at lists.freedesktop.org>
>Subject: RE: How to restart a pipeline after network connection loss?
>
>I've been trying this, but after setting the pipeline to NULL, it'll go to ready and paused, but it won't go to playing after that.
>
>-------------------------------------
>
>Le mardi 06 août 2019 à 08:17 +0000, Jorne De Smedt | IndigoCare a écrit :
>>  Hello,
>>
>>  I’ve been trying to get an rtsp stream working on Android, based on the tutorials.
>>  Now, the basic stream itself works, but whenever the stream is lost
>>  (due to network issues or other reasons), the stream just pauses and I
>>  can’t seem to figure out how to restart it without restarting the app.
>>  (Sometimes it also shows a “no signal” screen, but I’m unsure if this
>>  is part of gstreamer or the source.) There’s also a light issue that
>>  whenever the stream is just a slideshow of static images, it gets
>>  stuck on the first frame (unless you put an animation in there
>>  somewhere, like a single animated slide or animated pixel). I’m unsure
>>  if this is related to the previous issue
>>
>>  The goal is to have the app display the stream 24/7, so it should try to reconnect until it finds the stream again.
>>
>>  I’m currently using the following pipeline:
>>  "rtspsrc name=source location=rtsp://192.168.30.4:554/0 ! rtph264depay ! h264parse ! decodebin name=convert ! glimagesink"
>>
>>  Which seems to do the same as the previous one I used:
>>  "uridecodebin name=source ! videoconvert name=convert ! glimagesink"
>>
>>  What is the right way to restart a pipeline like this?
>>  Do I need to use a dynamic pipeline instead of one like this?
>
>Can't you just cycle the element through NULL/PLAYING, giving it a grace delay to avoid spinning ?
>
>>  _______________________________________________
>>  gstreamer-devel mailing list
>>  gstreamer-devel at lists.freedesktop.org
>>  https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>_______________________________________________
>gstreamer-devel mailing list
>gstreamer-devel at lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>_______________________________________________
>gstreamer-devel mailing list
>gstreamer-devel at lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>_______________________________________________
>gstreamer-devel mailing list
>gstreamer-devel at lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



More information about the gstreamer-devel mailing list