Creating a robust connection

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Creating a robust connection

GStreamer-devel mailing list
Dear All,

I am new to GStreamer, and I am working on making my pipeline robust against sudden disconnections and reconnections to the camera, and robust in general. It should be possible to remove the camera instantly and add it again, as well as being able to handle network failures without crashing.

Does anyone have any recommendations? Should I restore the pipeline some way (perhaps at some specific stage in the pipeline), or should I create a new pipeline? and perhaps some tips for doing so?

Thank you in advance, and kind regards,
Sarah



_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Creating a robust connection

GStreamer-devel mailing list
Le mardi 08 juin 2021 à 13:26 +0200, Sarah Maria Hyatt via gstreamer-devel a écrit :
Dear All,

I am new to GStreamer, and I am working on making my pipeline robust against sudden disconnections and reconnections to the camera, and robust in general. It should be possible to remove the camera instantly and add it again, as well as being able to handle network failures without crashing.

Does anyone have any recommendations? Should I restore the pipeline some way (perhaps at some specific stage in the pipeline), or should I create a new pipeline? and perhaps some tips for doing so?

You could start with a basic implementation at application level. This consist of monitoring errors, and cycling the pipeline through NULL / PLAYING whenever that occurs. Now, if the camera was unplugged, you likely want to use the GstDeviceMoinitor, and then wait for the camera to come back before restarting the pipeline. For the network aspect, the protocol will highly impact your decision. It's it's multicast streaming, there is very little to be done, but it's it's TCP, the remote side might have bone away for a moment, a try loop with a delay would likely be appropriate.


Thank you in advance, and kind regards,
Sarah


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel