How to restart a pipeline after network connection loss?

Nicolas Dufresne nicolas at ndufresne.ca
Wed Aug 7 01:49:40 UTC 2019


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



More information about the gstreamer-devel mailing list